我已经成功地将制表符分隔(.txt)数据文件中的值加载到List中,其中包含xcor,ycor和amp; 10只龟的颜色值。我使用以下方法读取数据:
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个子列表的列表来执行set xcor,在foreach循环中设置ycor和设置颜色命令来创建10个海龟吗?
非常感谢!
答案 0 :(得分:3)
这只是一个语法问题。 NetLogo将foreach turtle-data crt
理解为foreach turtle-data [ crt ? ]
,然后将其余部分解析为单独的命令,因此您将看到错误。
你想:
foreach turtle-data [
crt 1 [
set ...
]
]
用方括号分隔循环体开始和结束的位置。请注意,您必须提供一个crt
的数字。