[英]How to I resolve "expected command" in NetLogo?
我試圖讓 Netlogo 中的海龜在繼續(繼續前進)之前“保持原狀”20 次點擊,但我不斷收到“預期命令”錯誤。 知道我的括號不正確嗎?
謝謝!
to solar-battery ;; trying to ask turtles to move forward after being stationary for 20
clicks
ask turtles [
[ifelse (patch-here = destination)
[
if (ticks - ticks-since-here > ticks-to-stay-on-patch patch-here)
[
set ticks-since-here 20
set destination one-of patch]]]
[face destination
forward 1
if [patch-here = destination]
[set ticks-since-here ticks]]]
end
由於注釋不允許換行和縮進……這里是代碼格式示例。
to do-stuff
ask turtles with [ pxcor > 0 ] ;; this is fine.
[ ;; open of code block
jump 1
if (pcolor = white)
[ ;; open code block
rt 90 jump 1
] ;; close block
] ;; close block
end
括號的其他排列幫助而不是混淆的一個地方是在模擬 SWITCH 結構時:
進行切換時,保持條件和動作非常簡短。 如果它們很長,請將條件包裝在記者中。 同樣,將操作包裝在一個過程中,除非它非常短。
if-else (condition1) [ action 1 ][
if-else (condition2) [ action 2 ][
if-else (condition3) [ action 3 ][
if-else (condition4) [ action 4 ][
;; OTHERWISE
default-action
]]]] ;; one close bracket for each condition.
這種格式使得添加、刪除或重新排序條件變得非常容易,而不必弄亂移動括號、更改縮進或不匹配的括號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.