在Erlang进程中接收多条消息

时间:2016-04-29 04:49:08

标签: erlang

我无法理解如何使用Erlang进程接收多条消息。这是我在shell中尝试的内容:

1> GetMessage = spawn(fun() -> getMessage() end).
<0.252.0>
2> GetMessage ! msg.
Got a message
msg
3> GetMessage ! msg
msg

getMessage/0的代码:

getMessage() ->
  receive
    _ ->
      io:format("Got a message~n", [])
end.

如何继续接收讯息?

1 个答案:

答案 0 :(得分:2)

啊,明白了:

getMessage() ->
  receive
    _ ->
      io:format("Got a message~n", [])
      getMessage() % Add this line!
end.

您需要在收到消息后再次调用该函数。