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

how to use the netlogo anonymous -> in this case

我无法将旧的 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提供

此致

西蒙

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

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

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

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

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

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

编辑:忘了 link 编程指南中关于匿名程序的部分!它包含完整的详细信息:

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