何だかFizzBuzz書くのが HelloWorld の代わりみたいになっているような気がします。 ```erlang #!/usr/bin/env escript

main(Args) -> N = list_to_integer(erlang:hd(Args)), % Arguments[0] to a Number lists:foreach( fun(X) -> io:format(”~p~n”, [X]) end, fizzBuzz(N)).

% Get FizzBuzz Array % N is max number of FizzBuzz fizzBuzz(N) -> lists:foldl( fun (X, Sum) when X rem 15 =:= 0 -> Sum ++ [“FizzBuzz”]; (X, Sum) when X rem 5 =:= 0 -> Sum ++ [“Buzz”]; (X, Sum) when X rem 3 =:= 0 -> Sum ++ [“Fizz”]; (X, Sum) -> Sum ++ [integer_to_list(X)] end, [], lists:seq(1, N) ).

```※コンパイルが面倒だったのでescript使ってます。

  • 何度か迷子になりながら書きました。
  • writeとかfwriteとかformatとかわけわかめ。。。とりあえず io:format/2 だけ覚えよう。
  • ifの代わりにガード!っていう感覚。
  • Rubyで言うと・・・
    • lists:seq は Range
    • lists:foldl は inject  なのかな。

だんだん慣れていきたい。