標準出力
main = putStrLn "Hello, World!"
関数
関数名 |
概要 |
putStrLn |
文字列と改行を標準出力する |
catコマンド
main = do cs <- getContents
putStr cs
アクション
アクション |
概要 |
getContents |
標準入力をすべて読み込む |
関数
関数名 |
概要 |
putStr |
文字列をそのまま標準出力する |
式
一つのブロック。インデントをそろえる必要がある。
式 |
概要 |
do |
まとめられたアクションを上から下へ実行する |
<- |
変数を値に束縛させる(do式などの限定された箇所) |
countlineコマンド
main = do cs <- getContents
print $ length $ lines cs
関数
関数名 |
概要 |
lines |
文字列を行のリストに分割する。改行\nごとに区切る。引数が\nなら空行。引数無しなら空行 |
print |
文字列化して標準出力に出力するアクションを返す。 |
headコマンド
main = do cs <- getContents
putStr $ firstNLines 10 cs
firstNLines n cs = unlines $ take n $ lines cs
関数
関数名 |
概要 |
unlines |
行のリストを連結して文字列にする |
take |
リストの先頭からn要素をとってリストを返す |
tailコマンド
main = do cs <- getContents
putStr $ lastNLines 10 cs
lastNLines n cs = unlines $ takeLast n $ lines cs
takeLast n ss = reverse $ take n $ reverse ss
関数
関数名 |
概要 |
reverse |
リストを逆順にする([1,2,3]->[3,2,1] , "string"->"gnirts") |