同じ変数に2回代入してもエラーにならない例

1> N = 1.
1
2> N = 2.
** exception error: no match of right hand side value 2
3> N = 1.
1

エラーメッセージを見て「値が同じならエラーにはならないよね」って確認してみたらその通りだったので書いた。

お、次の章に進んだらちゃんと書いてあった。

Erlangにおける符号"="は代入を意味するのではなく、パターン照合処理を行っている」

http://erlangworld.web.fc2.com/first_step/pmatching.html

全く同じ内容が書いてあった。同じ値なら問題ない。



5> 1 = X.
* 1: variable 'X' is unbound

あ、これはできないのか。

14> X = Y, Y = 1.
* 1: variable 'Y' is unbound

あれ、これもできないのか。