FizzBuzz
どうしてプログラマに・・・プログラムが書けないのか?
Perlだとすぐ書けそうなので,勉強中のErlangで書いてみた.
-module(f). -export([fizzbuzz/0]). fizzbuzz() -> lists:foreach(fun(X) -> io:format("~p~n", [fizzbuzz(X)]) end, lists:seq(1, 100)). fizzbuzz(N) when N rem 15 == 0 -> "FizzBuzz"; fizzbuzz(N) when N rem 3 == 0 -> "Fizz"; fizzbuzz(N) when N rem 5 == 0 -> "Buzz"; fizzbuzz(N) -> N.
調べながら10分ぐらいかかった.まだまだ使えていない.
ちなみにlists:foreach各リストの要素に関数を適用する関数.ただし,値は返さない.で,lists:seq(1,100)はperlでいうところの(1..100).