ボム君.com

Masa's blog

今まで学んできたITスキルを主に。

Erlang: exception error: no match of right hand side典型的なミス

Erlang は他のプログラミングと違い変数の作りかたと値を入れるやり方が違う。

変数名は全部最初は大文字から

Xxxx = 1.
Yyyy = 2.

変数に値をあげるのは一度きり

%エラー
Xxxx = 2.

他の関数で値を変えてもダメ

f(Y) ->
   Y = 5.   %エラー

main() ->
   X = 3,
   f(X),
   X.

小文字からの変数名はアトムといい、不変定数で、識別のために用いる記号と覚えてもいい。

%名前がxのアトム
x.

%名前がyのアトム
y.

関数のパターンマッチングでの変数扱い

mylength([]) ->
   0;
mylength([_ | T]) ->
   1 + mylength(T).