首页 > 解决方案 > 需要帮助将 netlogo 代码从版本 3 转换为 6

问题描述

我需要将代码从第 3 版转换为 netlogo 到第 6 版。到目前为止,一切正常,但我陷入了无法转换的代码行。有人可以帮我吗?

代码如下:

let list-temp1 values-from aircrafts with [Team != Team-of myself and distance-nowrap myself <= radius][self]

其中飞机是一个品种,团队是飞机的一个变量

问题是它values-from已被弃用。我尝试了过渡指南在“新的'of'语法”部分的建议,结果如下:

let list-temp1 of aircrafts with [Team != [Team] of myself and distance-nowrap myself <= radius][self]

但是我收到一条错误消息,上面写着:OF 期望这个输入是一个报告块,但是得到了任何东西。

希望我提供了足够的信息,如果没有,请告诉我。

标签: netlogo

解决方案


我认为将其分成几部分可能会有所帮助。原始代码是:

let list-temp1 values-from aircrafts with [Team != Team-of myself and distance-nowrap myself <= radius][self]

这很难遵循。我认为如果我们把它分成两个步骤会更容易:

let agentset-temp1 aircrafts with [Team != Team-of myself and distance-nowrap myself <= radius]
let list-temp1 values-from temp0 [self]

要转换为 NetLogo 6,这两行都需要更改,如下所示:

let agentset-temp1 aircrafts with [Team != [Team] of myself and distance-nowrap myself <= radius]
let list-temp1 [self] of temp0

我没有你的整个模型来实际尝试这个,但我认为这是正确或几乎正确的。


推荐阅读