Haskell Quiz/FizzBuzz/Solution Acontorer
From HaskellWiki
< Haskell Quiz | FizzBuzz(Difference between revisions)
(New page: FizzBuzz <haskell> -- This implementation is designed to demonstrate extensibility, -- as the list of tags can be easily edited, loaded from a file, et...) |
|||
| (2 intermediate revisions not shown.) | |||
| Line 2: | Line 2: | ||
<haskell> | <haskell> | ||
| - | -- This implementation is designed | + | -- a FizzBuzz (and FizzBuzzBaz) solution by Aaron Contorer. |
| + | -- This implementation is designed for extensibility, | ||
-- as the list of tags can be easily edited, loaded from a file, etc. | -- as the list of tags can be easily edited, loaded from a file, etc. | ||
| + | -- Number range is set >100 so as to demonstrate the FizzBuzzBaz case. | ||
fizzBuzz i = if null desc then show i else desc where | fizzBuzz i = if null desc then show i else desc where | ||
Current revision
-- a FizzBuzz (and FizzBuzzBaz) solution by Aaron Contorer. -- This implementation is designed for extensibility, -- as the list of tags can be easily edited, loaded from a file, etc. -- Number range is set >100 so as to demonstrate the FizzBuzzBaz case. fizzBuzz i = if null desc then show i else desc where desc = concat [label | (j,label) <- tags, 0 == rem i j] tags = [ (3,"Fizz"), (5,"Buzz"), (7,"Baz") ] main = mapM_ (putStrLn . fizzBuzz) [1..120]
