【发布时间】:2017-04-12 19:21:22
【问题描述】:
这是我第一次来这里,所以如果我没有正确使用它,请告诉我。 我刚开始使用 Netlogo,我有点困惑。 在模型库中有 Wolf Sheep Predation 的示例代码。在这段代码中定义了以下内容:
globals [grass]
所以一切正常。但后来我开始编写自己的代码,以此为基础,我遇到了以下错误:
没有什么叫氧气?已定义。
其中氧气是我自己的变量。为了找出问题所在,我回到 Wolf Sheep Predation 模型并尝试将全局名称更改为其他名称。例如:奇怪,(用find and replace all,也用手几次)。结果是同样的错误,而如果我只将草更改为草,它将起作用。现在我想知道是否有任何关于 Globals 的具体规则以及它们是如何使用的,是否有人可能知道为什么在 Wolf Sheep Predation 模型中仍然给出这个错误?
(我会分享我自己的模型,但它已经变得很长,所以它可能不是一个有用的例子)。
【问题讨论】:
-
所有全局变量必须用
globals声明。 -
嗯,是的,但这意味着什么?为什么当您仅更改全局变量的名称(当然所有指定为相同名称的所有变量)时,程序就不再工作了?
-
如果您只替换在
globals中声明的变量的名称,一切都会正常工作。但是您在引入名为Oxygen?的变量时声明了Oxygen。 -
如果您分享一个可重现的代码示例,它将帮助我们解决您的问题。随意劫持我用来提问的模型:stackoverflow.com/questions/40730974/…