在模型库中,Galton Box模型中有此过程。每次调用它时,它会在左边的舱口盖和右边的舱口后进行两次递归调用。
to propagate ;; peg procedure
if ycor < max-pycor - 2 - 2 * number-of-rows [ die ]
set pcolor yellow
set ycor ycor - 2
hatch 1 [
set xcor xcor - 1
propagate
]
hatch 1 [
set xcor xcor + 1
propagate
]
die
end
是否保证递归调用的顺序传播&#39;?例如,第一次调用(xcor - 1)是否完全在第二次调用(xcor + 1)开始之前完成?或者初始调用是从第一个开始,然后是第二个开始?有没有保证会先完成?
答案 0 :(得分:0)
它完全是连续的。 NetLogo中没有并行性或并发性。
所以是的,第一次通话将在第二次通话之前完成。
这是来自Galton Box型号,对吗?您可以按如下方式逐步观察递归:从&#34;基于tick的更新切换模型&#34;到&#34;连续更新&#34;,将速度滑块置于慢速设置,然后按设置按钮。您将看到严格的从左到右,深度优先的遍历。