General FizzBuzz: Difference between revisions

Content added Content deleted
(Added Elixir)
Line 251: Line 251:
Buzz
Buzz
nil
nil
</pre>

=={{header|Elixir}}==
{{trans|Ruby}}
<lang elixir>defmodule General do
def fizzbuzz(input) do
[num | nwords] = String.split(input)
max = String.to_integer(num)
dict = Enum.chunk(nwords, 2) |> Enum.map(fn[n,word] -> {String.to_integer(n),word} end)
Enum.each(1..max, fn i ->
str = Enum.map_join(dict, fn {n,word} -> if rem(i,n)==0, do: word end)
IO.puts if str=="", do: i, else: str
end)
end
end

input = """
105
3 Fizz
5 Buzz
7 Baxx
"""
General.fizzbuzz(input)</lang>

{{out}}
<pre>
1
2
Fizz
4
Buzz
Fizz
Baxx
8
Fizz
Buzz
11
Fizz
13
Baxx
FizzBuzz
16
17
Fizz
19
Buzz
FizzBaxx
...
Buzz
101
Fizz
103
104
FizzBuzzBaxx
</pre>
</pre>