第 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
これは数学の計算順序と一緒。