我无法将旧的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提供。
问候
西蒙
答案 0 :(得分:3)
首先,task
原语不再存在。其次,不是使用?
,而是使用->
语法为原语提供参数。
在这种情况下,看起来像:
let most-efficient? [route -> first route = lowest-first]
在这里,我们在匿名过程中使用了参数route
。 route
将以?
与旧任务语法相同的方式使用。
请注意,对于两个或多个参数,您需要[]
将它们包围起来以将它们组合在一起:
let add [ [ x y ] -> x + y ]
编辑:忘记链接到匿名程序的编程指南部分!它包含完整的详细信息:
https://ccl.northwestern.edu/netlogo/docs/programming.html#anonymous-procedures