0
所以我有aNum
作爲補丁自己的屬性,並在我的代碼中我有 ask patch 0 -5 [set aNum (aNum - 1)]
但修補程序只是將其aNum更改爲-1。代碼不響應屬性更改
我怎樣才能確保它需要先前分配的數值,然後從中減去1呢?
謝謝!
所以我有aNum
作爲補丁自己的屬性,並在我的代碼中我有 ask patch 0 -5 [set aNum (aNum - 1)]
但修補程序只是將其aNum更改爲-1。代碼不響應屬性更改
我怎樣才能確保它需要先前分配的數值,然後從中減去1呢?
謝謝!
它符合你的期望。所以問題是,爲什麼你沒有看到你的期望。找到答案稱爲「調試」。一種簡單的調試方法是使用print
語句來幫助您檢查程序的邏輯。 (另一種方法是使用error
來標記意外的程序狀態。)例如,
globals [testPatch]
patches-own [aNum]
to decrementANum [#patch]
ask #patch [set aNum (aNum - 1)]
end
to test
set testPatch patch 0 -5
repeat 5 [
let _before [aNum] of testPatch
decrementANum testPatch
print (word "before: " _before "; after: " [aNum] of testPatch)
]
end
一般來說,寫這樣一個最小的自包含的例子使一個更好的問題。很可能,您會在嘗試製作示例時發現錯誤。