Netlogoで親プロシージャの変数を呼び出す方法
-
12-11-2019 - |
質問
NetLogoでは、別の手順を呼び出す手順があります。の入手についてどうすればよいですか?
例えば、私は2種類の薬剤、ハブとリンクを持っています。ハブには「Budget」というローカル変数があり、その値を変更しようとしています。
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の「これ」と似ています。
他のヒント
HMM。 なぜuがこのようにしたいのかわからない.. 今のところ何ができるのは
ASKリンク[ new_value new_value_from_linkをlet ハブを依頼する[ Budget New_Valueを設定します ] ]
所属していません StackOverflow