我有一个 Netlogo 模型,它有时会在设置时导致错误,因为偶然地,在设定的半径内没有足够的海龟来选择其中的 X 个。当我在电脑前时,我只是再次点击设置并继续前进。
使用行为空间时,如果遇到这些错误之一会发生什么?它似乎忽略了它并继续前进,但仍将运行记录在输出中。
我有一个 Netlogo 模型,它有时会在设置时导致错误,因为偶然地,在设定的半径内没有足够的海龟来选择其中的 X 个。当我在电脑前时,我只是再次点击设置并继续前进。
使用行为空间时,如果遇到这些错误之一会发生什么?它似乎忽略了它并继续前进,但仍将运行记录在输出中。
文档表明实验将被中断: http ://ccl.northwestern.edu/netlogo/docs/behaviorspace.html
但无论如何,良好的编程习惯在任何情况下都会防止这种可能的运行时错误。例如,尝试为每只海龟获得 2 个半径为 1 的伙伴:
to-report select-partners ;turtle proc
let candidates (other turtles in-radius 1)
if (2 < count candidates) [
set candidates (n-of 2 candidates)
]
report candidates ;may be an empty agentset!
end
我喜欢艾伦的回答。但是,如果您只想重试失败的设置,您可以考虑将设置命令从以下位置更改:
setup
更像是
let done? false
while [not done?] [
carefully [
setup
set done? true
] [ ]
]