FizzBuzz
Elixir
More than 3 years have passed since last update.

Elixir さわってみた記念にFizzBuzzを書いてみました。

fizzbuzz.exs
defmodule Fizzbuzz do
  def process(limit) do
    process(1, limit)
  end

  def process(n, limit) when n > limit do
    IO.puts "done."
  end

  def process(n, limit) do
    case n do
      n when rem(n, 15) == 0 ->
        IO.puts "fizzbuzz"
      n when rem(n, 5) == 0 ->
        IO.puts "buzz"
      n when rem(n, 3) == 0 ->
        IO.puts "fizz"
      n ->
        IO.puts n
    end

    process(n + 1, limit)
  end
end

System.argv |> List.first |> String.to_integer |> Fizzbuzz.process

FizzBuzz in Elixir

パターンマッチをちゃんと勉強しようと思います。