erlangでfizzbuzz

erlの勉強中。とりあえずfizzbuzzを書いてみた

-module(fizz_buzz).
-compile(export_all).

fizz_buzz(100)->
    100;
fizz_buzz(N)->
    if
        N rem 3 =:= 0 ->
            io:fwrite("fizz\n");
        N rem 5 =:= 0 ->
            io:fwrite("buzz\n");
        true  ->
            io:fwrite("~p\n", [N])
    end,
    fizz_buzz(N+1).

これをfizz_buzz.erlというファイル名で保存して

$ erl
Erlang (BEAM) emulator version 5.5.5 [source] [async-threads:0] [kernel-poll:false]

Eshell V5.5.5  (abort with ^G)
1> c(fizz_buzz).
{ok,fizz_buzz}
2> fizz_buzz:fizz_buzz(1).
%(略)
86
fizz
88
89
fizz
91
92
fizz
94
buzz
fizz
97
98
fizz
100
3>