condを使う場合
defmodule FizzBuzz do def upto(n) do cond do rem(n, 15) == 0 -> "FizzBuzz" rem(n, 3) == 0 -> "Fizz" rem(n, 5) == 0 -> "Buzz" true -> n end end end for n <- 1..100 do IO.puts FizzBuzz.upto(n) end
パターンマッチを使う場合
defmodule FizzBuzz do def upto(n) when rem(n, 15) == 0, do: "FizzBuzz" def upto(n) when rem(n, 3) == 0, do: "Fizz" def upto(n) when rem(n, 5) == 0, do: "Buzz" def upto(n), do: n end for n <- 1..100 do IO.puts FizzBuzz.upto(n) end