【问题标题】:NetLogo picking specific items from turtles-own listNetLogo 从海龟拥有的列表中挑选特定项目
【发布时间】: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


【解决方案1】:

你只需要:

sum [ item itm lst ] of turtles

作为更一般的评论:避免尝试使用它们的who 编号来引用海龟。它几乎从不需要,通常表明您对要完成的工作的想法有误...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多