2006-04-15から1日間の記事一覧

偶数のリストいろいろ

定義。 even1 = [2,4..] even2 = filter (\x -> x `mod` 2 == 0) [1..] even3 = filter (\x -> x `mod` 2 /= 1) [1..] even4 = zipWith (+) [1..] [1..] even5 = map (\x -> x * 2) [1..] even6 = 2:(map (2+) even6) even7 = map (\x -> sum $ replicate x …

リストを操作する関数(その3)

foldl と foldr はちょっとわかりにくい。なのでこんなのを書いてみた。 括弧内の数字は引数を表している。0 が初期値で 1, 2, 3... がリストの各要素。内側の括弧から順に評価される。 foldl はこう。 *Main> foldl (\x y -> "(" ++ x ++ "," ++ y ++ ")" )…