Personal tools

Haskell Quiz/FizzBuzz/Solution Ninju

From HaskellWiki

< Haskell Quiz | FizzBuzz
Revision as of 22:16, 12 August 2008 by Ninju (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


I think this is probably what I'd do in the interview situation - i.e. the first and most obvious thing that comes to mind.

module Main where
 
main :: IO ()
main = printAll $ map fizzBuzz [1..100]
       where
       printAll [] = return ()
       printAll (x:xs) = putStrLn x >> printAll xs
 
fizzBuzz :: Integer -> String
fizzBuzz n | n `mod` 15 == 0 = "FizzBuzz"
           | n `mod` 5  == 0 = "Fizz"
           | n `mod` 3  == 0 = "Buzz"
           | otherwise       = show n