標準入力から受け取った文字列の行数を数えるっていうプログラムを作ります。
今までは,本を見ながらって感じでしたが,本をスタバで抹茶フラペチーノ飲みながら読んできたので覚えてるかどうかという意味も込めて見ないで書きます!
登場する関数は以下のとおり。
lines | 文字列を受け取って改行で区切ってリストにして返す。 |
---|---|
length | リストを受け取って,その要素数を返す |
画面に出力する |
いけそうですな!
リストとは,["hoge", "fuge", "moge", "moe"]みたいなもの。
配列ですな。
もう1つ初登場なのが$。
$は,括弧の省略系だ。
print ( hogehoge ( mogemoge fuga ))っていうのを
print $ hogehoge $ mogemoge fugaと言う風に書ける。
うん。Lispみたいに括弧地獄にならなくてすむのね。
すばらすぃ。
んじゃいってみよう
countline.hs------------------------ main = do cs <- getContents print $ length $ lines cs
こうなってくると簡単なパズルみたいなものですね。
linesで改行区切りのリストにしてlengthで長さとってprintで結果を表示。
うん。すばらしぃ。
コンパイルしてみて実行!
H:\develop\Program\Haskell\countline>countline < countline.hs 2
うん。すばらすぃ。