関数関連

Haskell の関数


関数名 型 } 凡例 意味
putStr String -> IO () putStr cs 文字列 cs を出力するアクションを返す
putStrLn String -> IO () putStrLn cs 文字列 cs と改行を出力するアクションを返す
print Show a => a -> IO () print x 値 x を出力するアクションを返す
length [a] -> Int length xs リスト xs の長さを返す
take Int -> [a] -> [a] take n xs リスト xs の先頭からの n 個のみを含むリストを返す
reverse [a] -> [a] recerse xs リスト xs を逆順にしたリストを返す
lines String -> [String] lines cs 文字列 cs を行ごとにリストに分割したリストを返す
unlines [String] -> String unlines xs 文字列のリスト xs を改行をはさんで連結した文字列を返す
getContents IO String getContents 標準入力をすべて読み込む
words String -> [String] words cs 文字列 cs を単語のリストに分割したリストを返す。空白類文字を単語区切りと認識する
map (a -> b) -> [a] -> [b] map f xs リスト xs の各要素に関数 f を適用したリストを返す
concat [[a]] -> [a] concat xs リストのリスト xs の要素を連結して一重のリストにする
concatMap (a -> [b]) -> [a] -> [b] concatMap f xs concat ( map f xs ) と同じ
replicate Int -> a -> [a] replicate n x x を n 個だけ含むリストを返す
(==) Eq a => a -> a -> Bool a==b a と b が等しいとき True を返す
unwords [String] -> String unwords xs 文字列のリストxs を、空白をはさんで連結する
any (a -> Bool) -> [a] -> Bool any f xs リスト xs の要素 x のうち 「f x」が True になる要素があれば True を返す
filter (a -> Bool) -> [a] -> [a] filter f xs リスト xs の要素 x のうち 「f x」が True である要素を集めたリストを返す
head [a] -> a head xs リスト xs の最初の要素を返す
tail [a] -> [a] tail xs リスト xs の第2要素以降を返す
List.tails [a] -> [[a]] tails xs リスト[xs, (tail xs), (tail ( tail xs))),...]を返す
List.isPrefixOf Eq a => [a] -> [a] -> Bool xs `isPrefixOf` ys リスト xs がリスト ys の先頭部分に一致するとき True を返す
System.getArgs IO [String] コマンドライン引数を読み込むアクション
List.sort Ord a => [a] -> [a] sort xs リスト xs の要素を昇順にソートしたリストを返す
List.group Eq a => [a] -> [[a]] group xs リスト xs に連続して同じ要素が現れたらそれをリストにまとめて返す
not Bool -> Bool not x not 関数は x が True なら False を返します。x が False なら True を返します
&& Bool -> Bool -> Bool x && y (&&)関数は x と y がともに True のとき True を返す。それ以外のときは False を返す
|| Bool -> Bool -> Bool x || y (||)関数は x か y のいずれかが True のとき True を返す。それ以外のときは False を返す
div Integral a => a -> a -> a x `div` y x と y の整除(整数同士のみ、負の無限大に向かってまるめる)
quot Integral a => a -> a -> a x `quot` y x と y の整除(整数同士のみ、ゼロに向かってまるめる
mod Integral a => a -> a -> a x `mod` y (x `div` y) のあまり(整数同士のみ)
rem Integral a => a -> a -> a x `rem` y (x `quot` y)のあまり(整数同士のみ)
negate Num a => a -> a negate x x の符号反転(単項マイナスの別名)
subtract Num a => a -> a -> a subtract x y (y-x)と同じ
abs Num a => a -> a abs x x の絶対値
odd Integral a => a -> Bool odd x x が奇数なら True、偶数なら False
even Integral a => a -> Bool even x x が偶数なら True、奇数なら False
toInteger Integral a => a -> Integer toInteger x Int 型の値 x を Integer 型に変換
fromInteger Num a => Integer -> a fromInteger x Integer 型の値 x を数値型に変換(返り値の方は文脈で決まる)
fromIntegral (Integral a, Num b) => a -> b fromIntegral x Int 型または Integer 型の値 x を数値型に変換(返り値の型は文脈で決まる)
ceiling (RealFrac a, Integral b) => a -> b ceiling x x を下回らない最小の整数
floor (RealFrac a, Integral b) => a -> b floor x x を上回らない最大の整数
truncate (RealFrac a, Integral b) => a -> b truncate x x と 0 の間で x に最も近い整数( x 自身を含む)
round (RealFrac a, Integral b) => a -> b round x x に最も近い整数(2つある場合は偶数)
isAlpha Char -> Bool isAlpha c 文字 c が Unicode のアルファベットならば True
isLower Char -> Bool isLower c 文字 c が Unicode のアルファベット小文字ならば True
isUpper Char -> Bool isUpper c 文字 c が Unicode のアルファベット大文字ならば True
isAlphaNum Char -> Bool isAlphaNum c 文字 c が Unicode のアルファベットまたは数字ならば True
isDigit Char -> Bool isDigit c 文字 c が数字(0~9)なら True
isHexDigit Char -> Bool isHexDigit c 文字 c が数値の 16 進表記で使われる文字('0'~'9','a'~'f','A'~'F')なら True
isOctDigit Char -> Bool isOctDigit c 文字 c が数値の 8 進表記で使われる文字('0'~'7')なら True
isSpace Char -> Bool isSpace c 文字 c が空白類文字(' ','\t','\n','\r','\v','\f'および Latin1 の空白類) なら True
isAscii Char -> Bool isAscii c 文字 c が ASCII に含まれる文字 ('\0'~'\127')ならば True
isLatin1 a -> Bool isLatin1 c 文字 c が Latin 1 の文字('\0'~'\255')ならば True
isPrint Char -> Bool isPrint c 文字 c が Unicode の表示可能文字ならば True
isControl Char -> Bool isControl c 文字 c が Latin 1 の表示不可能文字ならば True
toLower Char -> Char toLower c isUpper c が True ならば対応するアルファベットの小文字を返す。isUpper c が False なら文字 c 自身を返す
toUpper Char -> Char toUpper c isLower c が True ならば対応するアルファベットの大文字を返す。isLower c が False なら文字 c 自身を返す
ord Char -> Int ord c 文字 c の文字コードを返す
chr Int -> Char chr n 文字コード n に対応する文字を返す。n が Unicode の範囲外にあるときは実行時エラーが発生する
fst (a, b) -> a fst pair fst 関数は、2要素タプル pair の第1要素を返します。関数名の由来は「first」です
snd (a, b) -> b snd pair snd 関数は、2要素タプル pair の第2要素を返します。関数名の由来は「second」です
zip [a] -> [b] -> [(a, b)] zip xs ys zip 関数は、リスト xs と ys の各要素を横につないだタプルのリストを返します。
xs と ys の長さが違うときは短いほうに揃えられます
unzip [(a, b)] -> ([a], [b]) unzip xs unzip 関数は zip の逆で、ダプルのリストをリストのタプルに変換します
: a -> [a] -> [a] x : xs 「:」演算子はリスト xs の先頭に x を追加したリストを返します
null [a] -> Bool null xs null 関数はリスト xs が空リストなら True を返します。空リストでなければ False を返します
(++) [a] -> [a] -> [a] xs ++ ys (++)関数は2つのリスト xs と ys を連結したリストを返します
show (Show a) => a -> String show x show 関数は値 x を文字列に変換します。数値やリストはリテラルの形式に変換されます。
最終更新:2012年04月08日 17:18