2007-12-18から1日間の記事一覧

高階関数と匿名関数

もちろんある。 次の sum_of は 1〜n までの整数それぞれに f を適用して合計を求める関数。 # let rec sum_of f n = if n = 0 then 0 else f n + sum_of f (n-1);; val sum_of : (int -> int) -> int -> int = <fun>f は別のところで定義した関数でもいいし,そ</fun>…

カリー化された関数

OCaml の関数はカリー化されているので,部分適用できる。 # let sum_of_twice = sum_of (fun x -> x * 2);; val sum_of_twice : int -> int = <fun> # sum_of_twice 5;; - : int = 30</fun>