haskellでfizzbuzz
だいぶ昔に少しだけhaskellで遊んでたけど、すでに文法すら頭から消し飛んでたので最初からやり直してて、復習にちょうどいいかと思いfizzbuzzをサクッと書いてみました。
ソースは以下。Integerを引数にStringで返す関数を作って、mapでリストの値を適用してるだけです。普通だと配列ごと渡してやろうのだろうけど、めんどくさかったのでこんな感じ。
fizzbuzz :: Integer -> String fizzbuzz n | n `mod` 15 == 0 = "fizzbuzz" | n `mod` 5 == 0 = "buzz" | n `mod` 3 == 0 = "fizz" fizzbuzz n = show n main :: IO() main = do print $ map fizzbuzz [1..10]
haskellで数値から文字列へのcastがよくわからなかったけど、普通にshowを使えばよかったっぽい。showってもっとごちゃごちゃしてた気がするけど、今はとりあえずcastってことだけ覚えとく。
http://hackage.haskell.org/package/base-4.0.0.0/docs/Prelude.html#22