【问题标题】:Guard not catching the correct data保护没有捕获正确的数据
【发布时间】:2015-10-08 03:45:24
【问题描述】:

这是我的代码,我不明白为什么我的第二个守卫没有捕获数据。正如您在调试器上看到的,数据是相同的。除非我是盲人,否则我看不到问题

【问题讨论】:

  • 编辑您的问题并添加MCVE,而不是链接到其他页面。
  • 您可能已经将Data 绑定到receive 之前的另一个值,并且该值与收到的不同。

标签: erlang guard


【解决方案1】:

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

{tcp,S,Data2} ->

或其他一些未绑定的变量名——Data 以外的任何名称——一切都会好起来的。

【讨论】:

  • 你说得对,我确实是瞎了,我也不得不改S,因为它也被绑定了。谢谢您的帮助! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 2018-04-04
  • 1970-01-01
  • 2016-01-08
相关资源
最近更新 更多