Netlogo程序 - 返回功能

时间:2017-05-06 13:40:16

标签: netlogo

错误是

  

已经有一个名为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

提前致谢。

1 个答案:

答案 0 :(得分:1)

NetLogo中的所有内容都共享一个命名空间。这意味着变量不能与过程具有相同的名称,反之亦然。

在您的情况下,fp记者有一个名为foraging_effort的参数,但您还有一个名为foraging_effort的记者。这就是NetLogo所抱怨的。

通常情况下,我会说:&#34;只需重命名其中一个,你应该好好去,&#34;但你提出问题的方式使我怀疑可能还有其他事情发生。您是否可能想从foraging_effort记者中呼叫fp记者?在这种情况下,您可能不需要向记者提供论据,您应该在[foraging_effort]之后删除to-report fp部分。