如何在NetLogo中调用父过程的变量
-
12-11-2019 - |
题
在netlogo中,我有一个调用另一个过程的过程。我怎样才能获得值
例如,我有两种药物,枢纽和链接。集线器具有称为“预算”的当地变量,我正在尝试修改其值。
hubs-own [
budget
]
to go
ask hub 0 [
do-ivalue
]
end
to do-ivalue
ask links [
;; I'm trying to set the local variable budget of the hub that's calling this link
set self.budget newvalue ;; this is obviously wrong, how can I fix this?
]
end
. 解决方案
你想要做的是使用'我自己',它指的是来电者(问问者):要求运行'我自己'所在的代码的人。
to do-ivalue
ask links [
ask myself [set budget 10] ]
end
.
“self”是指运行代码的代理。它类似于java中的“这个”。
其他提示
嗯。 不确定为什么你想这样做...... 你现在可以做些什么
ask链接[ 让new_value new_value_from_link. 问枢纽[ 设置Budget New_value. ] ]
不隶属于 StackOverflow