如何在netlogo中调用父过程的变量

时间:2011-02-12 02:36:50

标签: netlogo agent-based-modeling

在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

2 个答案:

答案 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  ] ]