さて、次につぎのような高階関数を定義してみよう
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を定義せよ。
最終更新:2007年03月10日 21:11