是否有相当于命令one-of
的所有代理?那么一个all-of
命令?我需要我的代理商要求特定的其他代理商汇总并报告价值。 one-of
命令将只会随机选择一个其他代理,但我需要选择列表中的所有代理。Netlogo:是否有一个`all-of`命令,类似于'one-of`?
详情:我需要我的household
代理商要求其他household
代理商进行总结并汇报自己的HHwaterUse
值。每个household
代理将要求所有其他代理在其SocialNetwork
列表中。 SocialNetwork
列表由Public_ID
值组成,它是每个代理拥有的值。
例:所以,如果household-1
拥有一种SocialNetwork
列表看起来像[9126 3495 4197 8771]
,我需要的9126,3495,等一个Public_ID
值的所有代理汇报他们的HHwaterUse
值。
ask households [
set NetUseSum sum [HHwaterUse] of households with [[Public_ID] of myself = all-of [SocialNetwork] of self]
]
卢克的答案是正确的,但如果你要代表的社交网络,你应该使用[链接](http://ccl.northwestern.edu/netlogo/docs/programming.html#links )而不是列表。这会使代码更好(通常更快)。您现在身份证明列表中遇到的困难只是冰山一角;一旦你开始依靠ID或“who”号码,一切都变得尴尬和复杂。当您依赖直接的代理参考,代理集和链接时,NetLogo会发光。如果你拥抱这一点,你将会得到长期的回报。 –
是每个代理程序唯一的Public_ID值,还是更像是类别指示符。如果它们对每个代理都是唯一的(出于某种原因,您不想按照Nicolas的建议使用链接),那么您可以使用代理集而不是标识符列表。 – JenB