Es tut, was Sie erwarten. Die Frage ist also, warum siehst du nicht, was du erwartest. Die Antwort darauf wird als "Debugging" bezeichnet. Eine einfache Möglichkeit zum Debuggen besteht darin, mithilfe der Anweisung print
die Logik Ihres Programms zu überprüfen. (Ein anderer Weg ist error
zu Flagge unerwarteten Programmzustand zu verwenden.) Zum Beispiel
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
Generell Schreiben eine solche minimale umluftunabhängigem Beispiel macht eine bessere Frage. Höchstwahrscheinlich werden Sie Ihren Fehler finden, wenn Sie versuchen, das Beispiel zu erstellen.