标签: erlang guard
所以这是我的代码,我不明白为什么我的第二个警卫没有抓住数据。正如您在调试器上看到的那样,数据是相同的。除非我失明,否则我看不到问题
答案 0 :(得分:4)
Data绑定到值"hey\n",但您收到的{tcp,S,_}元组有第3个元素"HEY\n",它不等于{的值{1}}。将Data子句更改为:
Data
"hey\n"
{tcp,S,_}
"HEY\n"
receive
或其他一些未绑定的变量名称 - {tcp,S,Data2} -> 以外的任何其他名称 - 一切都会很好。
{tcp,S,Data2} ->