如何使用 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]
在这里,我们在匿名过程中使用了一个参数 route
。 route
的使用方式与 ?
在旧任务语法中的使用方式相同。
请注意,对于两个或多个参数,您需要用 []
将它们括起来以将它们组合在一起:
let add [ [ x y ] -> x + y ]
编辑:忘了 link 编程指南中关于匿名程序的部分!它包含完整的详细信息:
https://ccl.northwestern.edu/netlogo/docs/programming.html#anonymous-procedures
我无法将旧的 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]
在这里,我们在匿名过程中使用了一个参数 route
。 route
的使用方式与 ?
在旧任务语法中的使用方式相同。
请注意,对于两个或多个参数,您需要用 []
将它们括起来以将它们组合在一起:
let add [ [ x y ] -> x + y ]
编辑:忘了 link 编程指南中关于匿名程序的部分!它包含完整的详细信息:
https://ccl.northwestern.edu/netlogo/docs/programming.html#anonymous-procedures