Haskell Quiz/FizzBuzz/Solution Mikbe

From HaskellWiki
Jump to navigation Jump to search

I just started learning Haskell literally this week so I went with simple and straight forward. Can't wait till I learn a little so I can make this a one liner.

module Main where
  
  main :: IO ()
  main = do 
    mapM_ (putStrLn) [fizzBuzz x | x <- [1..100]]

  fizz::Int->String
  fizz x = if x `mod` 3 == 0 then "Fizz" else ""

  buzz::Int->String
  buzz x = if x `mod` 5 == 0 then "Buzz" else ""

  fizzBuzz::Int->String
  fizzBuzz x = if fizz(x) ++ buzz(x) == "" 
    then show x 
    else fizz(x) ++ buzz(x)