错误是
已经有一个名为FORAGING_EFFORT
的程序
Netlogo或其他解决方案中是否有其他返回功能?
to-report fp [foraging_effort]
report (5 / (1 + exp (2 - foraging_effort * 2)))
end
to-report foraging_effort [forage_min forage_rate energy_level]
ifelse energy_level <= forage_min
[ report 0 ]
[ report (forage_rate * (energy_level - forage_min)) ]
end
提前致谢。
答案 0 :(得分:1)
NetLogo中的所有内容都共享一个命名空间。这意味着变量不能与过程具有相同的名称,反之亦然。
在您的情况下,fp
记者有一个名为foraging_effort
的参数,但您还有一个名为foraging_effort
的记者。这就是NetLogo所抱怨的。
通常情况下,我会说:&#34;只需重命名其中一个,你应该好好去,&#34;但你提出问题的方式使我怀疑可能还有其他事情发生。您是否可能想从foraging_effort
记者中呼叫fp
记者?在这种情况下,您可能不需要向记者提供论据,您应该在[foraging_effort]
之后删除to-report fp
部分。