NetLogo 从列表值创建海龟
NetLogo create turtles from list values
我已成功将制表符分隔 (.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 报告错误 "This special variable isn't defined here."
谁能告诉我迭代引用 10 个子列表的列表以在 foreach 循环中执行 set xcor、set ycor 和 set color 命令以创建 10 只海龟的正确语法?
非常感谢!
这只是语法问题。 NetLogo 将 foreach turtle-data crt
理解为 foreach turtle-data [ crt ? ]
,然后将其余部分解析为单独的命令,因此出现您所看到的错误。
你想要:
foreach turtle-data [
crt 1 [
set ...
]
]
用方括号分隔循环体开始和结束的位置。请注意,您必须向 crt
.
提供一个数字
我已成功将制表符分隔 (.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 报告错误 "This special variable isn't defined here."
谁能告诉我迭代引用 10 个子列表的列表以在 foreach 循环中执行 set xcor、set ycor 和 set color 命令以创建 10 只海龟的正确语法?
非常感谢!
这只是语法问题。 NetLogo 将 foreach turtle-data crt
理解为 foreach turtle-data [ crt ? ]
,然后将其余部分解析为单独的命令,因此出现您所看到的错误。
你想要:
foreach turtle-data [
crt 1 [
set ...
]
]
用方括号分隔循环体开始和结束的位置。请注意,您必须向 crt
.