2017-01-10 102 views
0

所以我有aNum作爲補丁自己的屬性,並在我的代碼中我有 ask patch 0 -5 [set aNum (aNum - 1)]但修補程序只是將其aNum更改爲-1。代碼不響應屬性更改

我怎樣才能確保它需要先前分配的數值,然後從中減去1呢?

謝謝!

回答

0

它符合你的期望。所以問題是,爲什麼你沒有看到你的期望。找到答案稱爲「調試」。一種簡單的調試方法是使用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 

一般來說,寫這樣一個最小的自包含的例子使一個更好的問題。很可能,您會在嘗試製作示例時發現錯誤。