如何使用netlogo anonymous - >在这种情况下

时间:2017-05-29 14:28:31

标签: netlogo anonymous-function

我无法将旧的5.3.1任务转换为6.01中使用的匿名过程。任何帮助将不胜感激。

我遇到问题的路线如下:

>let most-efficient? task [first ? = lowest-first]

这是在完整记者的背景下:

> to-report best-route [route-list]  ;; [a list of network sections]                                         
> let lowest-first min map first route-list
> let most-efficient? task [first ? = lowest-first]  
> let best-route first butfirst one-of filter most-efficient? route-list  
> report best-route                  
> end

原始代码由Seth T提供。

问候

西蒙

1 个答案:

答案 0 :(得分:3)

首先,task原语不再存在。其次,不是使用?,而是使用->语法为原语提供参数。

在这种情况下,看起来像:

let most-efficient? [route -> first route = lowest-first]

在这里,我们在匿名过程中使用了参数routeroute将以?与旧任务语法相同的方式使用。

请注意,对于两个或多个参数,您需要[]将它们包围起来以将它们组合在一起:

let add [ [ x y ] -> x + y ]

编辑:忘记链接到匿名程序的编程指南部分!它包含完整的详细信息:

https://ccl.northwestern.edu/netlogo/docs/programming.html#anonymous-procedures