List 问海龟们谁在Netlogo中做了很多事情

List 问海龟们谁在Netlogo中做了很多事情,list,netlogo,identifier,procedures,List,Netlogo,Identifier,Procedures,现在我有下一个问题。假设我有一个包含不同数字的列表,例如: let mylist [3 7 12 24 32 54 21 19] 我想用这个数字列表,比如海龟的名字。更准确地说,我希望只有海龟,他的谁是平等的任何数字的名单,做一个程序。我试着直接应用“with”命令,就像这样:询问海龟with[who=mylist],但是不起作用,我认为问题是我使用的是一个列表,而不是一个特定的值。有什么建议吗?你可以使用foreach语句,然后用这个数字询问每只海龟。范例 let mylist [1 2

现在我有下一个问题。假设我有一个包含不同数字的列表,例如:

 let mylist [3 7 12 24 32 54 21 19]

我想用这个数字列表,比如海龟的名字。更准确地说,我希望只有海龟,他的谁是平等的任何数字的名单,做一个程序。我试着直接应用“with”命令,就像这样:询问海龟with[who=mylist],但是不起作用,我认为问题是我使用的是一个列表,而不是一个特定的值。有什么建议吗?

你可以使用
foreach
语句,然后用这个数字询问每只海龟。范例

let mylist [1 2 3]
foreach mylist [ ask turtle ?1 [to do some stuff] ]

一般来说,使用代理集比使用世卫组织数字列表要好得多。(1) 代理组在创建/修改其成员资格方面更加灵活。(2) 您可以直接要求代理集的所有成员使用
ask myagentset[…]
执行操作。你使用世卫组织的数字有什么特别的原因吗?我们可以看看你创建列表的代码吗?也许我们可以给你一些关于如何使用agentsets的想法。我同意@JenB。如果你真的要皈依,你可以使用
询问海龟[member?who mylist][…]
同意,使用who数字几乎总是一个信号,表明你的生活比需要的更艰难。是的,主要原因是,我需要一定数量的海龟做一些程序,其他海龟做其他程序,但我不希望同一只海龟同时做所有程序,所以我需要一个变量,精确控制哪些海龟做什么,哪些海龟做另一件事,这就是为什么我用who来建立它,这听起来好像使用agentsets会容易得多。你的代码工作得很好,我真的不太明白如何使用那个“?”东西。非常感谢,它就像某种参考参数或其他东西,我也不太习惯,但我喜欢将其视为Excel中的绝对/相对参考。哈哈!基本上,您可以对任意数量的列表使用
foreach
。例如,
foreach mylist1 myotherlist[询问某事?1某事?2]
中的
?1
并告诉程序从第一个列表中获取元素,
?2
告诉程序从第二个列表中获取元素。仅供参考:这对Netlogo 6不起作用<代码>?是一项任务,任务被匿名过程取代。看见