2017-01-10 6 views
0

aNumはパッチ固有の属性で、コードには ask patch 0 -5 [set aNum (aNum - 1)]がありますが、パッチのaNumは-1に変更されています。属性の変更にコードが応答しません

これまでに割り当てられていたものがないことを確認し、代わりに1を減算する方法を教えてください。

ありがとうございました!

答えて

0

あなたの期待通りです。だから、なぜあなたはあなたが何を期待しているのか見ていないのです。その答えを見つけることを「デバッグ」といいます。デバッグを行う簡単な方法の1つは、printステートメントを使用して、プログラムのロジックを確認することです。例えば、

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 

は、一般的に、このような最小限の自己完結型の例を書き、話す(フラグ予期しないプログラム状態にerrorを使用することです。もう一つの方法は)より良い質問を行います。ほとんどの場合、例を作成しようとしている間にエラーが発生します。

関連する問題