LoginSignup
2
2

More than 5 years have passed since last update.

Erlangでfizzbuzzをする

Posted at

最近erlangの勉強会に参加していて、仕事ではrubyとphp、家ではnode、趣味でerlangみたいなカオスな感じになってきている。当然erlangどころか関数型言語も触ったことなかったので、勉強会でのパフォーマンスが悪くなってきた。つまり、erlangの演習をしながらちょっと復習をしていきたい。
とりあえず、基本のfizzbuzzをerlangで書いてみた。

FizzBuzz

- module(fizzbuzz).
- export([check/1, fizzbuzz/1, loop/2]).

check(Num) when Num rem 15 =:= 0 ->
    io:format("FizzBuzzz~n");
check(Num) when Num rem 3 =:= 0 ->
    io:format("Fizz~n");
check(Num) when Num rem 5 =:= 0 ->
    io:format("Buzz~n");
check(Num) ->
    io:format("~p~n", [Num]).

fizzbuzz(Num) ->
  loop(1,Num).

loop(Endnum, Endnum) ->
  check(Endnum);
loop(Num, Endnum) ->
  check(Num),
  loop(Num+1, Endnum).

感想

ちょっとはまったところは、再帰のところだ。for文がないのでどうやって書くか試行錯誤したらこんな感じになった。慣れると結構かっこ良くかける気がしている。次は素数チェッカーを書く。

2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2