2017-05-06 74 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]部分。