我有一台自己的品种电脑,我想要计算在线范围内的所有电脑。以下没有奏效,因为“on”无法在链接上下文中如何正确完成?
let cnt count link-neighbors with [link-length <= range and online = 1]
答案 0 :(得分:2)
有几种方法可以做到这一点。
这个可能是最简单的。请记住,link-neighbors
返回当前计算机链接到的计算机,而不是链接本身。因此,我们可以按如下方式查看范围内的相邻计算机:
count link-neighbors in-radius range with [online = 1]
或者,您可以查看链接本身并使用other-end
确定连接的计算机是否在线:
count my-links with [link-length <= range and [online = 1] of other-end]
这种方法的优点是你可以使用除实际物理距离之外的东西作为范围。例如,如果链接有一个latency
变量,即消息传递它们所需的时间,您可以这样做:
count my-links with [latency <= max-latency and [online = 1] of other-end]