2007-08-24から1日間の記事一覧

OCaml一人勉強会 - 関数

リストやタプルの要素の弄り方がそこそこ分かったところで関数を。 int 型の引数に 1 を足した値を返すような関数は下のように書ける。 # fun x -> x + 1;; - : int -> int = <fun> まあ見たまんま。当然このままじゃ使えないので、変数に束縛しましょう。 # let </fun>…

OCaml一人勉強会 - パターンマッチ

関数型といえばパタ略。 まあ何かリストやタプルやバリアントなどを操作する時に便利なナニです。 先頭の要素が1だったらtrueを、そうでなかったら0を返す処理を書きたいときは大体こんな感じ。 # match [1; 2; 3] with 1 :: rest -> true | some -> false;;…

OCaml一人勉強会 - unit型

忘れてました。 unit 型の値はただ一つ「()」だけです。 何に使うかというと、関数の返り値が必要ない場合、C言語でいう返り値が void 型の関数を書きたいときに使います。 例えば print_endline 関数は unit を返します。 # ();; - : unit = () # print_end…

Ocaml一人勉強会 - 再帰関数と末尾再帰

関数型といえば再帰略。まあ例としてはつまらないんですが階乗計算を。 # let f n = if n > 0 then n * f (n-1) else 1;; Characters 28-29: let f n = if n > 0 then n * f (n-1) else 1 ^ Unbound value f 叱られてしまいました。そのままではそれまでに定…