人気ブログランキング | 話題のタグを見る

Prelude の標準関数 - f -

filter :: (a -> Bool) -> [a] -> [a]
動作:第1引数の述語を満たす第2引数の要素を選び出しそのリストを返す。
用例:
Prelude> filter isDigit "fat123cat456"
"123456"

flip :: (a -> b -> c) -> b -> a -> c
動作:第1引数に関数、第2、第3引数にその関数の引数をとり、第2、第3の引数の前後を入れ替えて第1引数の関数にわたし、その値を返す。
用例:
Prelude> flip elem [1..10] 5
True

floor :: (RealFrac a, Integral b) => a -> b
動作:引数に実数をとり、その値を越えない最大の数を返す。
用例:
Prelude> floor 3.8
3
Prelude> floor (-3.8)
-4

foldl :: (a -> b -> a) -> a -> [b] -> a
動作:左畳み込み。第2引数の値に第3引数のリストの要素との演算を次々に左から適用してその結果を返す。
用例:
Prelude> foldl (+) 0 [1..10]
55
Prelude> foldl (flip (:)) [] [1..10]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

foldl1 :: (a -> a -> a) -> [a] -> a
動作:定義の方がわかりやすい。foldl1 f (x:xs) = foldl f x xs
用例:リストの最大値が計算される。
Prelude> foldl1 max [1, 10, 5, 2, -1]
10

foldr :: (a -> b -> b) -> b -> [a] -> b
動作:右畳み込み。第2引数の値に第3引数のリストの要素との演算を次々に右から適用してその結果を返す。
用例:
Prelude> foldr (++) [] ["con", "cat", "en", "ate"]
"concatenate"

foldr1 :: (a -> a -> a) -> [a] -> a
動作:定義の方がわかりやすい。
foldr1 f [x] = x
foldr1 f (x:xs) = f x (foldr1 f xs)
用例:
Prelude> foldr1 (*) [1..10]
3628800

fromInt :: Num a => Int -> a
動作:Int型の数を他の型に変換する。
用例:
Prelude> (fromInt 3)::Float
3.0

fromInteger :: Num a => Integer -> a
動作:Integer型の数を他の型に変換する。
用例:
Prelude> (fromInteger 10000000000)::Float
1.0e+10

fst :: (a, b) -> a
動作:タプルの第1引数を取り出す。
用例:
Prelude> fst ("harry", 3)
"harry"
by tnomura9 | 2009-08-23 20:46 | Haskell | Comments(0)
<< Prelude の標準関数 -... Prelude の標準関数 -... >>