在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
答案 0 :(得分:1)
你要做的是使用'我自己',它指的是来电者(提问者):要求运行“我自己”所在代码的人。
to do-ivalue
ask links [
ask myself [set budget 10] ]
end
'self'是指运行代码的代理。它类似于Java中的“this”。
答案 1 :(得分:0)
HMM。 不知道为什么你想这样做.. 你现在可以做的是
询问链接[ 让new_value new_value_from_link 问枢纽[ 设置预算new_value ] ]