netlogo - 错误:WITH 期望这个输入是一个代理集,但得到了一个补丁
问题描述
从昨天开始,我一直在尝试编写以下代码:我有一个世界,每个补丁中有 1 只海龟(发芽命令)。我希望海龟检查它所在的补丁中的 8 个邻居。我是这样做的:让 neighWithVeg 计算补丁的邻居,这里有 [veg-value > 0.2]。但是出现了错误: WITH 期望这个输入是一个代理集,但是得到了一个补丁
有人能帮我吗?
patches-own [
veg-value
]
to setup
clear-all
reset-ticks
ask patches [
sprout 1
]
end
to go
ask turtles [
neighboring
]
end
to neighboring
let neighWithVeg count neighbors of patch-here of [veg-value > 0.2] ;; HERE THE ERROR
ifelse neighWithVeg = 0
[
move
]
[
move-to one-of neighbors of patch-here with [veg-value > 0.2]
]
end
提前致谢
解决方案
对于以后的问题,请仅显示相关代码 - 可能是有错误的过程和调用它的过程。此外,NetLogo 会告诉您哪一行产生了错误。
我猜这是产生错误的行:
let neighWithVeg count neighbors of patch-here with [veg-value > 0.2]
您实际上并不需要of patch-here
,因为代码无论如何都是从相关补丁的角度来看的。但是如果你这样做了,那么你需要 [ ] 来表示of
,所以它会是[neighbors] of patch-here
。
但我认为你想要的是:
let neighWithVeg count neighbors with [veg-value > 0.2]
推荐阅读
- r - R Shiny:uiOutput 中的条件 actionButton
- c++ - C++ 在结构定义中继承共享指针是什么意思?
- python - 根据其他列(滞后)值创建第四列
- javascript - google_tag_manager 未定义
- processmaker - 在 centos 7 上从 processmaker 3.5.7 升级到 4.1 版
- javascript - 为什么我的代码只使用 1 个 javascript 而没有使用另一个?
- python - 将保存为向量的数据的 XML 文件转换为 pandas 数据框
- python - 如何跟踪所有重定向?
- sql - 具有唯一 ID 的分组数据不分组
- aws-lambda - 在 AWS Amplify 上使用 Next.js 和 SSR,环境变量不会被传递到自动创建的 Lambda