OCamlをつつく3-評価束縛。えっ?ボクを束縛するの?
関数型言語といえばやっぱり変数束縛ピヨ。 これは聞くよりも見た方が早いからサンプルを見てね。
let name = "インドリ";;
おや?文字化けしたぞ。OCamlはフランス人だから仕方が無いなぁ。ローマ字にしよう。
let name = indre";;
このプログラムを実行すると変数nameに値が束縛されるピヨ。 イメージとしては値に名札を貼るとしておけば覚えやすいよ。これで変数nameを使用すれば”indre”と表示されるピヨ。
name;;
- : string = "indre"これはC#やVB.NETなどの命令型言語の使い手にも馴染み深い機能だね。でも、流石、関数型言語というべきなのか関数さえも束縛出来るんだ。このようにね。
let Add x y = x + y;;
Characters 10-11: let Add x y = x + y;; ^ Syntax error
おや?エラーが出たぞ。関数名に大文字を使ったら駄目らしい。理由は後で判明すると思う。多分ね。
let add x y = x + y;;
add 10 (-5);;
ここで注意ピヨ。マイナス値は括弧で括って。何故かと言うと、OCamlは関数型言語だからマイナスも関数と看做されるからピヨ。仕方が無いねぇ。この子関数人だからね。面倒くさいと言わずに、「可愛いやつ」と思って暖かくマイナス値に括弧をつけてあげよう。
OCamlはこのように束縛が大事なんだ。誰も彼も束縛するなんてOCamlって淋しがりやなんだね。あんまり束縛されても嫌だけど、ちょっとぐらいなら可愛いと思えるよね。
我ながら変な終わり方。