List 如何从Netlogo中的代理创建属性的有序列表?
我用以下定义了我的海龟List 如何从Netlogo中的代理创建属性的有序列表?,list,netlogo,List,Netlogo,我用以下定义了我的海龟 turtles-own[val1, posx,posy,value] 我定义了称为 xlist 叶利斯特 vallist 我开始是空的。 现在我想创建一个列表,任何海龟都有一个值 是的 这叫做: ask turtles[fillLists] 例如,如果我有3只海龟,val1是一个名字 假设我们有: t1 =[Mike, 1, 10, 100] t2 =[Sasha, 2, 20, 200] t3 =[Rocco, 3, 30, 300] 我想创建列表l1、l2、l
turtles-own[val1, posx,posy,value]
我定义了称为
xlist
叶利斯特
vallist
我开始是空的。
现在我想创建一个列表,任何海龟都有一个值
是的
这叫做:
ask turtles[fillLists]
例如,如果我有3只海龟,val1是一个名字
假设我们有:
t1 =[Mike, 1, 10, 100]
t2 =[Sasha, 2, 20, 200]
t3 =[Rocco, 3, 30, 300]
我想创建列表l1、l2、l3、l4。
其中内容包括:
l1= [Mike, Sasha, Rocco]
l2= [1,2,3]
l3= [10,20,30]
l4= [100,200,300].
但是我试过的不起作用。因为列表返回空。
发生的是一些错误?我无法重现您的错误,因此您可能需要在调用这些命令的地方包含更多代码。例如,如果我运行此处定义的
设置
:
globals [ nameslist xlist ylist vallist ]
turtles-own [ val1 posx posy value ]
to setup
ca
set nameslist []
set xlist []
set ylist []
set vallist []
crt 1 [ set val1 "Mike" set posx 1 set posy 10 set value 100 ]
crt 1 [ set val1 "Sasha" set posx 2 set posy 20 set value 200 ]
crt 1 [ set val1 "Rocco" set posx 3 set posy 30 set value 300 ]
ask turtles [ fill-lists ]
print nameslist
print xlist
print ylist
print vallist
reset-ticks
end
to fill-lists
set nameslist lput val1 nameslist
set xlist lput posx xlist
set ylist lput posy ylist
set vallist lput value vallist
end
我得到如下输出:
[Mike Rocco Sasha]
[1 3 2]
[10 30 20]
[100 300 200]
但是,您可能会发现,只使用of
查询海龟以获取感兴趣的变量更简单。例如,下面的代码实现了大致相同的输出,尽管其使用可能取决于您的需要:
turtles-own [ val1 posx posy value ]
to setup
ca
crt 1 [ set val1 "Mike" set posx 1 set posy 10 set value 100 ]
crt 1 [ set val1 "Sasha" set posx 2 set posy 20 set value 200 ]
crt 1 [ set val1 "Rocco" set posx 3 set posy 30 set value 300 ]
print [val1] of turtles
print [posx] of turtles
print [posy] of turtles
print [value] of turtles
reset-ticks
end
输出:
[Sasha Mike Rocco]
[2 1 3]
[20 10 30]
[200 100 300]
谢谢,你能检查一下我的新Netlogo问题吗?@MariaGuthier-当然,现在可以了吗?实际上是这个问题的后续问题。你在写这不是真正的问题
[Sasha Mike Rocco]
[2 1 3]
[20 10 30]
[200 100 300]