かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

countlineだ!

標準入力から受け取った文字列の行数を数えるっていうプログラムを作ります。
今までは,本を見ながらって感じでしたが,本をスタバで抹茶フラペチーノ飲みながら読んできたので覚えてるかどうかという意味も込めて見ないで書きます!


登場する関数は以下のとおり。

lines 文字列を受け取って改行で区切ってリストにして返す。
length リストを受け取って,その要素数を返す
print 画面に出力する

いけそうですな!

リストとは,["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


うん。すばらすぃ。