またも FizzBuzz
先日 Haskell で FizzBuzz 問題を解いてみたが、いまいちだったので作り直してみた。
fizzbuzz [] = [] fizzbuzz (x:xs) | mod x 15 == 0 = "FizzBuzz\n" ++ fizzbuzz xs | mod x 5 == 0 = "Buzz\n" ++ fizzbuzz xs | mod x 3 == 0 = "Fizz\n" ++ fizzbuzz xs | otherwise = show x ++ "\n" ++ fizzbuzz xs main = putStr $ fizzbuzz [1..100]
...ダサいな。
コードを書いていて問題なのはコンパイルエラーが起きてメッセージが表示されるのだが、何を言っているのか意味が分からないところか。今までのエラーの傾向からすると、型のことをまだ理解できていないっぽい。