2017-05-06 77 views
0

的错误是的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

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

在你的情况下,fp记者有一个名为foraging_effort的论点,但你也有一个记者叫foraging_effort。这就是NetLogo所抱怨的。

通常情况下,我会说:“简单地重命名其中的一个,你应该很好去”,但是你说出你的问题的方式让我怀疑可能还有别的事情正在发生。您是否有可能想从fp记者处致电foraging_effort记者?在这种情况下,你可能不需要记者的意见,你应该在to-report fp之后删除[foraging_effort]部分。