List.map

List.map はリストの各要素に関数を適用する。

# List.map (fun x -> x * x) [1;2;3;4;5];;
- : int list = [1; 4; 9; 16; 25]

実装してみる。

# let rec map' f l =
match l with
[] -> []
| hd::tl -> f hd :: map' f tl
;;
val map' : ('a -> 'b) -> 'a list -> 'b list = <fun>
# map' (fun x -> x * 10) [1;2;3;4;5];;
- : int list = [10; 20; 30; 40; 50]

function構文を使って,

# let rec map'' f = function
[] -> []
| hd::tl -> f hd :: map'' f tl
;;
val map'' : ('a -> 'b) -> 'a list -> 'b list = <fun>
# map'' (fun x -> x * 10) [1;2;3;4;5];;
- : int list = [10; 20; 30; 40; 50]
カテゴリー: OCaml パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください