NetLogo从列表值创建海龟

时间:2015-01-03 22:46:34

标签: list netlogo nested-lists

我已经成功地将制表符分隔(.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个海龟吗?

非常感谢!

1 个答案:

答案 0 :(得分:3)

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

你想:

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

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