質問

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を設定します ] ]

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top