Netlogo 任何预期输入为agentset,但改为获取数字0
我正在尝试选择离切割机最近的免费运送工具,并发送他们从交付中取回金属板,以便切割机进行切割。以下是相关代码:Netlogo 任何预期输入为agentset,但改为获取数字0,netlogo,Netlogo,我正在尝试选择离切割机最近的免费运送工具,并发送他们从交付中取回金属板,以便切割机进行切割。以下是相关代码: globals[ metal-sheets cutter-closest-free-carrier] breed[carriers carrier]` 我收到的错误消息是: “有吗?输入应该是agentset,但得到的是数字0。” 如何以预期的方式实现此功能 我假设错误在于: if any? cutter-closest-free-carrier[ 作为一个全局变量,免费承运
globals[
metal-sheets
cutter-closest-free-carrier]
breed[carriers carrier]`
我收到的错误消息是:
“有吗?输入应该是agentset,但得到的是数字0。”
如何以预期的方式实现此功能 我假设错误在于:
if any? cutter-closest-free-carrier[
作为一个全局变量,免费承运人
由NetLogo初始化为零。如果在
ask cutter [
if status = "import" [
set cutter-closest-free-carrier min-one-of free-carriers[distance myself]] ]
status
不等于“import”,那么当您对其应用any?
时,免费承运人
仍将为零。这就是错误。还有另一个问题-any?
应应用于代理集,即使status=“import”
,最接近的免费承运人将作为中的一个而不是代理集的结果成为单个代理
因此,首先在您的设置中或在的开始处将切割机最近的免费承运人
初始化为无人
。然后将测试是否有最近的自由载具更改为
if cutter-closest-free-carrier != nobody [
我认为应该这样做
希望这有帮助,
查尔斯
if cutter-closest-free-carrier != nobody [