NetLogo:是否可以访问尚未创建的海龟的变量?

时间:2017-11-01 00:21:20

标签: netlogo

我正在撰写一段代码,其中运行不同类型工厂的投资模拟。为了计算一项投资是否值得尝试,将对待建工厂(比如钢铁厂)进行未来收入和成本的分析。为此,计算投资的海龟(例如公司)需要知道钢铁厂的生产能力。

to test
  let future-steel-production ([max-processing-capacity * operational-time] of one-of steel-factories
end

但如果还没有建造钢铁厂(即创建),我会得到错误代码:

预期输入为代理或代理集,但取而代之的是NOBODY。

当还没有创建代理时,有没有办法访问代理的变量?

1 个答案:

答案 0 :(得分:2)

  

当还没有创建代理时,有没有办法访问代理的变量?

没有。这在逻辑上是不可能的。

但这并不意味着你无法弄清楚这些变量的未来价值。

如果要实际创建代理,您需要问问自己如何初始化这些变量。这些值(max-processing-capacityoperational-time)必须来自某个地方,对吧?您是否有一些存储在文件中的工厂类型的定义?通过记者或一些全球变量访问?

如果您要使用以下内容创建工厂:

create-factories 1 [
  set max-processing-capacity ???
  set operational-time ???
]

...你会用???代替什么?那是你的答案。在计算未来的钢铁产量时,您需要使用在工厂创建时使用的任何东西。