我已成功将制表符分隔(.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
提供一个数字。