HaskellでFizzBuzz
30分プログラム、その748。HaskellでFizzBuzz。
当初の予定ではSchemeで便利なスクリプトを書く予定でしたが、諸事情により中止となりました。(手元のマシンに処理系がインストールされてなかった。)
というわけで、たまたま入っていたHaskellでFizzBuzzを書きました。FizzBuzzを書いたのは他にネタが思いつかなかったからです。
使い方
*Main> main 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 Fizz Buzz
ソースコード
fizz = cycle ["","","Fizz"] buzz = cycle ["","","","","Buzz"] digits = map show [1..] fizzbuzz = zipWith3 f fizz buzz digits where f "" "" n = n f x "" _ = x f "" y _ = y f x y _ = x ++ " " ++ y main = mapM_ putStrLn fizzbuzz