警卫没有捕获正确的数据

时间:2015-10-07 18:44:28

标签: erlang guard

Code and Debug Info

所以这是我的代码,我不明白为什么我的第二个警卫没有抓住数据。正如您在调试器上看到的那样,数据是相同的。除非我失明,否则我看不到问题

1 个答案:

答案 0 :(得分:4)

Data绑定到值"hey\n",但您收到的{tcp,S,_}元组有第3个元素"HEY\n",它不等于{的值{1}}。将Data子句更改为:

receive

或其他一些未绑定的变量名称 - {tcp,S,Data2} -> 以外的任何其他名称 - 一切都会很好。