Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lambda NetLogo匿名过程存在问题_Lambda_Netlogo_Procedure_Anonymous - Fatal编程技术网

Lambda NetLogo匿名过程存在问题

Lambda NetLogo匿名过程存在问题,lambda,netlogo,procedure,anonymous,Lambda,Netlogo,Procedure,Anonymous,我在转换旧的NetLogo代码以使用NetLogo 6.0.1时遇到问题 我遇到问题的线路如下: set recv turtle (read-from-string ?) 我知道吗?已更改为->。但我不明白这条线是怎么运作的 整个守则是: to send [msg] let recipients get-receivers msg let recv 0 foreach recipients [ set recv turtle (read-from-string ?) i

我在转换旧的NetLogo代码以使用NetLogo 6.0.1时遇到问题

我遇到问题的线路如下:

set recv turtle (read-from-string ?)
我知道吗?已更改为->。但我不明白这条线是怎么运作的

整个守则是:

to send [msg]
  let recipients get-receivers msg
  let recv 0
  foreach recipients [
   set recv turtle (read-from-string ?)
   if recv != nobody [without-interruption [ask recv [receive msg]]] ;; read-from-string is required to convert the string to number
  ]
end

表示
收件人的每个元素的
现在由
foreach
括号内声明的局部变量替换。在这里,我声明了一个变量
recip
,但它可以是您想要的任何东西

    to send [msg]
      let recipients get-receivers msg
      let recv 0
      foreach recipients [recip ->
       set recv turtle (read-from-string recip)
       if recv != nobody [without-interruption [ask recv [receive msg]]] ;; read-from-string is required to convert the string to number
      ]
    end

关于这一点,有两件好事:您可以“命名”问号,这样更容易记住它代表什么,而且,如果您迭代多个列表,您可以声明多个变量,每个列表一个。

您能给我们展示一下整段代码吗?代码在哪里?来自例如,如果这是在foreach循环中,则显示foreach循环。谢谢您的回答。请您也帮我完成这部分:
报告获取发送者[msg]报告删除“发送者:”第一个(过滤器[不是数字?”和成员?“发送者:?]msg)结束
这是相同的想法。只要看看
filter
这篇文章,
filter[m->不是数字?m和成员?“发送者:”m]msg
。将问号作为
is number?
member?
原语的名称的一部分,是在
msg
列表中取消问号以表示项目的另一个原因。