-
-
Save jbrains/2a29465457bddcca0c45 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Thanks to @kimwallmark for teaching me `maybe` and showing me how a single lookup. | |
-- I had the brilliant idea of using `snd`, even though I dislike the name. :) | |
fizzbuzz :: Integer -> String | |
fizzbuzz n = maybe (show n) snd $ classify n | |
where | |
classify n = find (\(m, _) -> n `mod` m == 0) [(15, "Fizzbuzz"), (5, "Buzz"), (3, "Fizz")] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
A variant on the guards version is to use a pattern match. I adapted this from the Scala version at http://rosettacode.org/wiki/FizzBuzz#Scala
(Naturally, this can be formatted sensibly rather than as a gratuitous one-liner! Although I now realize that the canonical guard version can actually be packed into a smaller one-liner, if one is that way inclined ;-)