2015-09-02 87 views
1

现在我有下一个问题。假设我有diferent号码,例如列表:有很多在Netlogo做什么的人问海龟

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

,我想用数字的这份名单似龟的谁。更准确地说,我希望只有那些等于列表中的任何数字的海龟才能执行程序。我尝试直接使用“with”命令,如下所示:问问乌龟与[who = mylist]但没有工作,我认为问题是我正在处理一个不是特定值的列表。有什么建议么?

+1

一般来说,使用代理集而不是使用谁号码列表要好得多。 (1)代理商在创建/修改会员资格方面更为灵活。 (2)你可以直接询问一个代理组的所有成员用'ask myagentset [...]'做些事情。你有使用谁号码的特殊原因?我们可以看到你创建列表的代码,也许我们可以给你一些关于如何使用代理组的方法。 – JenB

+1

我同意@JenB。如果你真的需要转换,你可以使用'向成员请求龟吗?谁mylist] [...]' – bergant

+1

同意,使用谁的号码几乎总是一个标志,你让你的生活比需要更难。 –

回答

3

您可以使用foreach声明,然后询问每个龟的编号。示例

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

你的代码完美工作我真的不太清楚如何使用该“?”事情。非常感谢你 –

+0

这就像某种引用参数或者某种东西,我也不习惯它,但我喜欢把它看作是来自Excel的绝对/相对引用。哈哈!基本上你可以使用'foreach'作为任意数量的列表。例如'foreach mylist1 myotherlist [问一些东西?一些东西?2]'在哪里'?1'告诉程序从第一个列表中取一个元素,'?2'告诉程序从第二个列表中取一个元素。 –