我刚刚开始使用NetLogo而我正试图从OOP过渡,所以如果我的编码范例是我的问题的根源,我会道歉。
在ask turtle
过程中,我想让每只乌龟调用一个方法,将其作为参数传递给它。我收到了错误:Expected a number rather than a list or block
。
ask turtles [
setxy ( mean [pxcor] of my-territory ) ( mean [pycor] of my-territory )
show my-territory
report-status-and-split turtle [[who] of myself]
]
我用它作为:
report-status-and-split [reporting-turtle]
...
create-turtles 1 [
set color red
if reporting-turtle != nobody
[ create-link-with reporting-turtle [ set color green ]
move-to reporting-turtle
fd 8
]
]
我也尝试过:report-status-and-split [who myself]
和report-status-and-split [myself [who]]
。所有错误均为Expected a literal
。
所以我没有使用who
,而是尝试将myself
作为参数传递给我:
您不能在乌龟上下文中使用REPORT-STATUS-AND-SPLIT,因为REPORT-STATUS-AND-SPLIT只是观察者。
我确信我的问题很简单。
如何在ask-turtle环境中正确使用who
?
或如何重新考虑我遵循Netlogo编码习惯的方法?
答案 0 :(得分:1)
将report-status-and-split self
更改为set
。