我有一个Netlogo模型,有两种海龟,A和B,以及它们之间的链接。我想要一个变量的乌龟A变化取决于乌龟B变量的值,如下所示:
[ask one-of AB_link-neighbors with [variableA > 0]
[set variableA (variableA - variableB)]]
我得到错误:一个品种不拥有变量b。
请有人帮忙吗?非常感谢。
答案 0 :(得分:3)
稍微多一些代码会有所帮助,因为不清楚代码块运行的是什么上下文,而且我不确定AB_link-neighbors
中的内容是什么。我猜测AB_link-neighbors
是B
个变量之一,它包含A
个。我也猜测代码中的外部块在B
内运行,如:
ask B [ask one-of AB_link-neighbors with [variableA > 0]
[set variableA (variableA - variableB)]]
所以set variableA
是指A
的变量,问题是
[set variableA (variableA - variableB)]]
只能引用问龟的变量。由于该乌龟是A
,因此没有variableB
可用。一个解决方案是使用of
和myself
,它指的是问龟(而不是问龟):
ask B [ask one-of AB_link-neighbors with [variableA > 0]
[set variableA (variableA - (variableB of myself))]]