有没有办法要求一定数量的补丁?例如,要求最多100个补丁,但只有50个可用,因此该操作将采用这50个补丁。感谢。
答案 0 :(得分:3)
目前这样做的方法如下:
to-report at-most [n agents]
report ifelse-value (n <= count agents) [ agents ] [ n-of n agents ]
end
然后你可以说ask at-most 100 patches [ ... ]
,你会得到你想要的东西。
请注意,如果您的变量有可能包含nobody
而不是代理集,则此方法无效。在这种情况下,您可以使用nobody
,patch-set
或turtle-set
将link-set
转换为代理集,具体取决于您希望它包含的代理类型。例如:
ask one-of turtle-set other turtles-here [ ... ]
请注意,在不久的将来,跳过所有这些环节的需要可能会消失。目前有一个开放的提案是向NetLogo添加一个原语来处理这些情况:https://github.com/NetLogo/NetLogo/issues/1594。