erlang チュートリアル中
先日、CMSCOM主催の erlang 勉強会に行ってきました。みなさん、お疲れ様でした。。
erlang 勉強会、いろいろ聞けて参考になりました。
まだ、チュートリアルを抜け出してないのですが、下記には最初戸惑いました。
@ 変数の代入は1回かぎり
一度初期化をしてしまうと変更することができないことが驚きでした。チュートリアル中に「変数じゃないじゃん」と叫んでしまいました。。 変数の再代入をしなくてよい仕組みに、再帰呼び出しをおこなっているからとのことでしたが、無限ループのような場合だとスタックはどうなるの? ということがすごく心配でした。末尾再帰しているとスタックオーバーフローにはならないとのことで安心しました(末尾再帰は、関数の一番最後で自分自身を呼び出すこと)たしかに、関数の最後で再帰をおこなっても戻り値を返すだけなので、コールスタックをつむ必要はないといえばないのですが、そこは言語の仕様なのでしょうね。うまくできてます。
A 行末の記号が ";" だったり "." だったり "," だったり、なにもなかったり、、
勉強会でも、 この仕様は慣れるしかないとのことでした。 が、最近、こういう変な仕様もありかと思い始めました。自分的にも、文法で毛嫌いすることが多かったのですが、なぜかすんなり入ってきたような感じです。多分関数型言語ということで、特異な文法がすくないので、これくらいでちょうどいいといった感じなのかもしれません。。
ということで erlang をすこしづつやっていこうと思います。