1

我有一个 Netlogo 模型,它有时会在设置时导致错误,因为偶然地,在设定的半径内没有足够的海龟来选择其中的 X 个。当我在电脑前时,我只是再次点击设置并继续前进。

使用行为空间时,如果遇到这些错误之一会发生什么?它似乎忽略了它并继续前进,但仍将运行记录在输出中。

4

2 回答 2

1

文档表明实验将被中断: 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
于 2015-09-23T14:11:29.630 回答
1

我喜欢艾伦的回答。但是,如果您只想重试失败的设置,您可以考虑将设置命令从以下位置更改:

setup

更像是

let done? false
while [not done?] [
  carefully [
    setup
    set done? true
  ] [ ]
]
于 2015-09-23T16:03:27.353 回答