Skip to content

Instantly share code, notes, and snippets.

@marcelmeyer
Created April 3, 2011 04:13
Show Gist options
  • Save marcelmeyer/900172 to your computer and use it in GitHub Desktop.
Save marcelmeyer/900172 to your computer and use it in GitHub Desktop.
Solves the 'fizzbuzz' game! As I generally don't like 'if' or 'case' statements (in any language), I tried pattern matching to solve this.
-module(fizz).
-compile(export_all).
play(Max)->
Numbers = lists:seq(1, Max, 1),
[eval(N) || N <- Numbers].
eval(Number) when Number rem 15 == 0 -> fizzbuzz;
eval(Number) when Number rem 5 == 0 -> buzz;
eval(Number) when Number rem 3 == 0 -> fizz;
eval(Number) -> Number.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment