首页 > 解决方案 > 在 netlogo 中过滤列表的代码是什么?Netlogo 6 的变化?

问题描述

字典中给出的以下代码在 NetLogo 6 中不起作用:

显示过滤器 [ i -> i < 3 ] [1 3 2]

=> [1 2]

错误信息是:

错误:没有定义任何名为 I 的内容。

我想做的很简单:计算列表中某些项目的数量。我认为过滤该项目然后计算结果列表中该项目的数量是一种合理的方法。其他方法?或者如何解决问题?

谢谢。

标签: listfilternetlogo

解决方案


我复制/粘贴并运行了您在 NetLogo 6.1.0 中发布的代码show filter [ i -> i < 3 ] [1 3 2],我得到了结果[1 2]

如果您使用的是 NetLogo 6.0.0,您需要将方括号作为报告者filter,因此如果您需要show filter [ [i] -> i < 3 ] [1 3 2] ,包括 在内的 6.0.0 文档filter仍然在线。

然后,您可以通过 dolength filter [ [i] -> i < 3 ] [ 1 3 2 ]和 get2作为结果来获得计数,正如预期的那样。或者您可以升级到 6.1.0 并执行length filter [ i -> i < 3 ] [ 1 3 2 ].


推荐阅读