我在 erlang 中的模式匹配方面遇到了一个疯狂的问题:
我的接收 block :
...
receive
{set_val,Val} ->
log("got: ~p",[Val]);
Any ->
log("~p is an unknown command",[Any])
end.
我发送的内容:
...
{myreceive,myreceive@workstation} ! {set_val,100}
我的日志中显示的内容:
{set_val,100} is an unknown command
为什么第一个模式不匹配? (以及如何使其匹配:/)
最佳答案
我看到的唯一可能性是 Val 已经在您的函数中绑定(bind)到不同于 100 的值。
关于Erlang 模式不匹配,但正确,该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24293107/