開発環境
- OS X El Capitan - Apple (OS)
- Emacs (Text Editor)
- Erlang (プログラミング言語)
7つの言語 7つの世界 (Bruce A. Tate (著)、まつもとゆきひろ (監訳)、田和 勝 (翻訳)、オーム社)の第6章(Erlang)、6.2(セルフスタディ1日目)を取り組んでみる。
セルフスタディ1日目.
コード(Emacs)
-module(sample).
-export([word_count/1, count_number_one_to_ten/0, success_or_error/1]).
word_count([]) ->
0;
word_count([32|Tail]) -> word_count(Tail);
word_count(String) -> skip_char(String).
skip_char([]) ->
1;
skip_char([32|Tail]) -> 1 + word_count(Tail);
skip_char([_|Tail]) -> skip_char(Tail).
count_number_one_to_ten() ->
range(1, 11, 1).
range(N, N, _) ->
[];
range(N, M, Step) -> [N|range(N + Step, M, Step)].
success_or_error({error, Message}) ->
"error: " ++ Message;
success_or_error(success) -> "success".
入出力結果(Terminal, REPL(Read, Eval, Print, Loop))
$ erl Eshell V7.3 (abort with ^G) 1> c(sample). {ok,sample} 2> sample:word_count(""). 0 3> sample:word_count("erl"). 1 4> sample:word_count("erl erlang"). 2 5> sample:word_count(" erl erlang"). 2 6> sample:word_count("erl erlang "). 2 7> sample:word_count(" erl erlang "). 2 8> sample:count_number_one_to_ten(). [1,2,3,4,5,6,7,8,9,10] 9> sample:success_or_error({error, "エラー"}). [101,114,114,111,114,58,32,227,130,168,227,131,169,227,131, 188] 10> sample:success_or_error(success). "success" 11> sample:success_or_error(other). ** exception error: no function clause matching sample:success_or_error(other) (sample.erl, line 21) 12> *** Terminating erlang (nonode@nohost) $
0 コメント:
コメントを投稿