※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

  • リストを扱う高階関数

さて、次につぎのような高階関数を定義してみよう

map (fn n=>2n) [1,2,3,4] (->[2,4,6,8]

filter (fn n=> (n mod 2)=0) [1,2,3,4] (-> [2,4])

mapは、リストの各要素に関数fを適用した結果をリストとして返す関数。
[a1, a2, a3, ... ,an]--map f-->[f(a1), f(a2), f(a3),...,f(a4)]

filter ある条件を満たす要素のみを要素とするリストを返す関数。
[a1, a2, a3, .. ,an]--filter pred-->[a2, a5,...,an]
n mod 2はnを2で割ったあまり、これが0の時、true.


問 map filterを定義せよ。

名前:
コメント: