プロセスを作るとき
コレとコレの違いがわからない.
spawn(anymod, anyfunc, [X, Y]).
spawn(fun() -> anymod:anyfunc(X, Y) end).
プログラミングErlangではほとんど後者で書かれている(全部読んでいないけど).
たしか前者が途中でモジュール入れ替えてもちゃんと対応するだった気がする. なのに後者を使う理由ってなんなんだろう.
書いてみて
こんな関数を書いてみた.
-module(proc). sum(X, Y) -> X + Y.
コレを前者のやり方で呼ぶ.
spawn(proc, sum, [1, 2]).
プロセスIDが出るだけで意味ない. 後者.
spawn(fun() -> Pid ! proc:sum(1, 2) end).
Pidは受け取ったメッセージをそのまんま表示するプロセス. なんとなくわかった気がする. お手軽楽チンだね!