iWA's 雑記

[2007年5月] | [2007年] | [最新] | [TOP]

2007-05-09

#1 FizzBuzz for Erlang

既出かもしれんけど、Erlangでやってみた。(lists使わないやり方に修正。case を使うよう修正)

#!/usr/bin/escript

fizz(X) when X rem 3 == 0 ->
    "Fizz";
fizz(_) ->
    "".

buzz(X) when X rem 5 == 0 ->
    "Buzz";
buzz(_) ->
    "".

fizzbuzz(X) ->
    case fizz(X) ++ buzz(X) of
        "" ->
            integer_to_list(X);
        R ->
            R
    end.

repeat(C, _) when C == 0 ->
    ok;
repeat(C, X) ->
    io:format("~s~n", [fizzbuzz(X)]),
    repeat(C - 1, X + 1).

main(_) ->
    repeat(100, 1).

んー、この程度だからかもしれんけど、あんま逐次処理の言語と変わらんよーな……。

[コメント]


[2007年05月] | [2007年] | [最新] | [TOP]