我已成功将制表符分隔(.txt)数据文件中的值成功加载到列表中,其中包含10只海龟的xcor,ycor和颜色值。我使用以下方法读取数据:

file-open "File Input Load Turtles.txt"
set turtle-data sentence turtle-data (list (list file-read file-read file-read))


我现在正尝试根据新列表中的值创建10个新乌龟。我尝试了以下语法(在许多其他不成功的尝试中):

foreach turtle-data crt set xcor first ? set ycor item 1 ? set color last ?


一开始 ?在foreach命令中,NetLogo报告错误“此处未定义此特殊变量”。

谁能告诉我正确的语法,以便迭代地引用10个子列表的列表来执行seteach设置ycor,设置ycor并在foreach循环中设置color命令以创建10个乌龟?

非常感谢!

最佳答案

这只是一个语法问题。 NetLogo将foreach turtle-data crt理解为foreach turtle-data [ crt ? ]的含义,然后将其余部分解析为单独的命令,因此出现了错误。

你要:

foreach turtle-data [
  crt 1 [
    set ...
  ]
]


用方括号界定循环主体的开始和结束位置。请注意,您必须为crt提供一个数字。

08-17 12:01
查看更多