手続き脳
; で区切ると普通に次の行に行きます。なんというか副作用アリアリなのでとても嬉しいです。あとなんか ref ってついた変数つくと代入ができる変数になるので、変数に代入しないと生きていけない人も生きていけます。
let _ = let x = ref 0 in print_int !x; print_newline (); x := 1; print_int !x; print_newline (); ()
なんか ! とかつけないと値が見れないんですがこんくらいなら許容範囲。まぁあんま使わん方がいいんだろうけど。でも最終兵器があるというかね。 goto がある安心感みたいな、そんな。あ、あとなんか関数内で let した場合はおしりに in をつけましょーという(ザツ)。
あと手続き脳に嬉しいお知らせですが printf がありますとか。
Printf.printf "%d\n" 3
なんかこれどう見てもちっとも型に厳密な雰囲気じゃないわけでして、これの実装どうなってるねんというと Obj.magic が使われてました。 Obj.magic は enum の値を取るものじゃなくてん任意の型にキャストするためのものみたいなそんな感じのすばらしいものなんですよつまり。