【发布时间】:2018-03-08 22:17:26
【问题描述】:
我的海龟有两个海龟自己的变量。 itm 是一个介于 0 和 2 之间的数值,而 lst 是一个包含 3 个数值项的列表。
我现在想从所有海龟中检索 lst 的第 itm 项并将它们相加。
我目前的方法如下,但它会产生错误的结果。
reduce [ [foo ID] -> (item ([i] of turtle ID) ([l] of turtle ID)) + foo ] ([who] of turtles)
我可以用一个简单的foreach 循环来做到这一点,但如果可能的话,我想把它放在一行中。
感谢其他方法或更正我的方法!
谢谢
【问题讨论】:
-
感谢尝试使用
reduce!您在这里的方法不太正确(请参阅我的答案),但是您的基本直觉是正确的:总和 is 减少。 (sum my-list等同于reduce + my-list。) -
reduce 方法适用于。必须将一个假人添加到谁列表
reduce [ [foo ID] -> foo + (item ([itm] of turtle ID) ([lst] of turtle ID) ) ] (fput 0 ([who] of turtles) ),但你的更优雅,将在下文中使用
标签: netlogo