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> |
||