Elixirに入門したのでFizzBuzzを書いてみました。書き方は色々あると思うので色んなパターンを見てみたいですね!
fizzbuzz.ex
defmodule FizzBuzz do
def fizz_buzz(n) do
Enum.map_join 1..n, fn x ->
cond do
rem(x, 15) === 0 ->
"FizzBuzz"
rem(x, 3) === 0 ->
"Fizz"
rem(x, 5) === 0 ->
"Buzz"
true ->
x
end
end
end
end
IO.inspect FizzBuzz.fizz_buzz(30)
> mix run fizzbuzz.ex
"12Fizz4BuzzFizz78FizzBuzz11Fizz1314FizzBuzz1617Fizz19BuzzFizz2223FizzBuzz26Fizz2829FizzBuzz"