第 3 章 ( P.14 - P.27 )

第 4 章まで行くつもりだったけど、この教科書のメインテーマの1つ「デザインレシピ」が第 4 章で登場するようなので、明日やる。

変数の定義

第 3 章は丸々変数の定義の話題。

let  変数名 =

というのが基本形らしい。 OCaml の変数名は英小文字で始まらなければいけないようだ。型名はいらないんだね。 int とか。
それから 3.3 節の内容によると、 OCaml は式の評価が左結合らしい。これは覚えておかないとハマることがあるかも知れない。
それから一番重要なこと。
OCaml ( というか関数型言語 ) は変数の書き換えは出来ない。
C/C++ の const と同じ感覚ってことなのかな。
問題 3.1 の解答。

# let e = 2.7182;;                (* 3.1.1 *)
val e : float = 2.7182
# let positive = e > 0.;;         (* 3.1.2 *)
val positive : bool = true        
# let seconds_of_day = 60*60*24;; (* 3.1.3 *)
val seconds_of_day : int = 86400
# let name = "myougadani";;       (* 3.1.4 *)
val name : string = "myougadani"

3.1.2 でちょっと悩んだけど、これって単に e > 0. が評価されたときの返り値が代入されているだけだよね。
それから 3.1.4 。これって「茗荷谷」って「みょうがだに」って読むんだね。僕の漢字の読め無さを改めて実感したよ。
問題 3.2 の解答。

# 1.0 +. e *. 2.0;;               (* 3.2 *)
- : float = 6.4364

これは数学の計算順序と一緒。