簡體   English   中英

如何解決 NetLogo 中的“預期命令”?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM