【Erlang】FizzBuzz

ErlangFizzBuzz

%% fizzbuzz.erl
-module(fizzbuzz).
-export([run/1]).
%% Fizz Buzz リストに変換
convert([]) -> [];
convert([H|T]) -> [convert(H)|convert(T)];
convert(H) when (H rem 15) =:= 0 -> 'FizzBuzz';
convert(H) when (H rem 3) =:= 0 -> 'Fizz';
convert(H) when (H rem 5) =:= 0 -> 'Buzz';
convert(H) -> H.
%% FizzBuzz実行
run(N) -> convert(lists:seq(1,N)).
%% 実行
fizzbuzz:run(20).
%% 結果
[1,2,'Fizz',4,'Buzz','Fizz',7,8,'Fizz','Buzz',11,'Fizz',13,14,'FizzBuzz',16,17,'Fizz',19,'Buzz']