Haskell のお勉強 その5
文字列の行数を数えるcountlineコマンドの作成。
まずは、入力用ファイルの作成。
test_hoge
hoge0
hoge1
hoge2
hoge3
次にcountline.hsを作成
main = do cs <- getContents print $ length $ lines cs
countline.hsをコンパイル
$ ghc countline.hs -o countline
countlineをいう実行ファイルが、生成されるので、
これを実行
$./countline < test_hoge
結果として、
4
と表示される。
countline.hsを分解してみる。
main = do cs <- getContents print $ length $ lines cs
「main = do cs <- getContents」は割愛。
「print」は、引数として与えられた値を、
文字列として、標準出力に出力する。
「length」は、リストの要素数を返す関数
次の処理は、5を表示する。
main = print $ length [1,2,3,4,5]
「lines」は、文字列の各行を要素とするリスト(配列)を返す。
次の処理は、["hoge0","hoge1","hoge2","hoge3"]を表示する。
main = do cs <- getContent print $ lines cs
「$」は、「$」の右側にある全ての処理を、左側の処理の引数とする。
「()」をつかうと
main = do cs <- getContents print $ length $ lines cs
は、
main = do cs <- getContents print( length( lines cs ) )
と書ける。