NetLogo:将变量存储在列表中并遍历它们
问题描述:
我想遍历NetLogo中的一系列变量。想法是这些值作为UI中的变量插入,并且这些值在while
或foreach
循环中迭代。还有如何获得每个值 - 在Python中,通过遍历它们很容易,但是如果我使用NetLogo,那么我必须将“item x in list”,我可以以同样的方式访问变量列表吗?在Python中,它如下所示:NetLogo:将变量存储在列表中并遍历它们
variables = [x0, x1, x2, x3, x4]
for x in variables:
print (x)
输出是x0到x4作为代码中使用的变量。
答
如果您正在询问如何将UI中的变量放入列表中,您可以使用list
基元来构建用户输入的变量列表,例如在UI中使用“输入”。然后,您可以使用foreach
遍历该列表中的项目。
let x_list (list x0 x1 x2 x3 x4)
foreach x_list [
[x] ->
print(x)
]
答
Luck的回答是正确的。但是,如果您有大量类似命名的变量,请注意您也可以执行类似操作:
let xs map [ [n] -> runresult word "x" n ] range 5
foreach xs [ [x] ->
print x
]