我正在阅读“Learn you some Erlang”中的这一部分,其中有一段代码如下所示:
start() ->
register(?MODULE, Pid=spawn(?MODULE, init, [])),
Pid.
start_link() ->
register(?MODULE, Pid=spawn_link(?MODULE, init, [])),
Pid.
terminate() ->
?MODULE ! shutdown.
我对这个terminate
功能感到非常困惑。那是说向模块本身发送消息吗?这是如何运作的?这是怎么回事?