paiza ラーニングの Haskell 問題集 を進めていて、FizzBuzz 回答まで到達できたので記録
パターンマッチングと mapM_
を活用した関数合成で解くことができた
回答コード
-- 関数定義 isFizzBuzz n = (isFizz n) && (isBuzz n) isFizz n = (n `mod` 3) == 0 isBuzz n = (n `mod` 5) == 0 fizzBuzz n | isFizzBuzz n = "FizzBuzz" | isFizz n = "Fizz" | isBuzz n = "Buzz" | otherwise = show n -- メイン main = do -- FizzBuzz のパターンマッチングと その結果を `putStrLn` で標準出力に出す mapM_ (putStrLn.fizzBuzz) [1..100]