Elixir 为什么我的接收方法正在停止iex?
我在我的iex终端上写了下面的代码,之后它不再响应了,终端只是停止了,就像它期待着其他东西一样。到底发生了什么Elixir 为什么我的接收方法正在停止iex?,elixir,elixir-iex,Elixir,Elixir Iex,我在我的iex终端上写了下面的代码,之后它不再响应了,终端只是停止了,就像它期待着其他东西一样。到底发生了什么 receive do {:hello, msg} -> msg {:world, msg} -> "won't match" end 默认情况下,receive没有超时,因此进程将被阻止,直到当前进程收到与任何模式匹配的消息。如果您只是在玩游戏,可以使用after设置超时,以确保不会发生这种情况: receive do {:he
receive do
{:hello, msg} -> msg
{:world, msg} -> "won't match"
end
默认情况下,receive没有超时,因此进程将被阻止,直到当前进程收到与任何模式匹配的消息。如果您只是在玩游戏,可以使用after设置超时,以确保不会发生这种情况:
receive do
{:hello, msg} -> msg
...
after 5000 -> :timeout
end
如果在5000毫秒内没有收到与模式匹配的消息,表达式现在将返回:timeout。真是不可思议!谢谢大家!+1.