開発環境
- 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 コメント:
コメントを投稿