NetLogo如何将指定颜色的Patches分配给Agentset?
NetLogo 中正确声明并赋值 Agentset 的方法
一、修正赋值代码的错误
你写的代码把 set 的赋值顺序搞反了。NetLogo 里 set 的语法规则是先指定要赋值的变量,再写对应的值,而非反过来。正确的代码应该是:
set workspaces patches with [pcolor = blue]
二、Agentset 的声明方式
既然你已经在 globals 里初始化了,直接写下面的代码就足够:
globals [ workspaces ]
NetLogo 不需要显式声明变量类型,当你给 workspaces 赋值为 patches with [...] 这类 agentset 类型的结果时,它会自动将 workspaces 识别为 patches 类型的 agentset。
如果需要更直观的验证,你可以在 setup 过程里写完整的测试代码:
globals [ workspaces ] to setup clear-all ; 随机生成蓝色、黄色补丁 ask patches [ set pcolor one-of [ blue yellow ] ] ; 把所有蓝色补丁赋值给 workspaces set workspaces patches with [pcolor = blue] ; 验证:让 workspaces 里的补丁变天蓝色 ask workspaces [ set pcolor sky ] end
内容的提问来源于stack exchange,提问作者Niteesh Shanbog
相关产品推荐
相关产品推荐

