我试图将旧代码移植到最新版本(6.0.1),下面的foreach循环在Netlogo 4.1.3上正常工作,但是将代码复制并粘贴到版本6.0.1时,“item 0?“不起作用。它说“?”未定义。这行代码是假设检索段Netlogo foreach嵌套列表
to setup-row [row colour segments]
foreach segments
[
if pycor = row * row-patches-width and
(pxcor >= col-patches-width * (item 0 ?)) and (pxcor <= col-patches-
width * (item 1 ?))
[set pcolor colour
output-print item 0 ?]
]
end
在“段”的通过内部列表项变量包含以下列表:
setup-row 4 blue [[-8 -5] [-3 -1] [0 3] [5 9]]
如果代码工作正常,应该检索-8(项目0?)和-5(项目1?)等等。我在旧代码中假设的是“?”是从[-8-5]和(项目0?)检索-8并且(项目1?)检索到-5的片段检索的第一个列表。
我试图通过阅读新的用户手册来找到类似的作品,但无济于事,也许我没有看到正确的地方。希望你们中的一些人能够指引我正确的方向。
感谢您的示例和有用的链接。我猜想我看起来不够努力,我正在寻找转换指南之类的东西。 –
是的,在6.0.1中,当变量名是单个变量时,可以(谢天谢地)删除括号,例如:'foreach ex [xy_coords - > ...]'。 –
啊,甚至更好。感谢更新! –