netlogo - Netlogo:变量有时列出有时编号,导致错误
问题描述
我有一个记者在我运行它时工作正常,但在我向它添加条件时却出错了。
var_a
我所有的海龟都有两个称为和的三维向量var_b
。当我为我的整个世界运行它时,没有问题:
to-report turtle-bounds [p]
let p-lower (([item 0 var_a] of p) - ([item 0 var_b] of p))
let p-upper (([item 0 var_a] of p) + ([item 0 var_b] of p))
let bounds list p-lower p-upper
report bounds
end
但是当我有条件运行它时,
to condition
let p1 turtles with-max [item 0 var_a]
turtle-bounds p1
end
我得到以下信息:
- 预期输入是一个数字,但得到了列表 [0.9967359117803329] 。
这是引用 var_a 的值,这意味着我的限制以某种方式使[item 0 var_a] of p
给出一个列表而不是一个数字。
有什么想法吗?
解决方案
turtle-bounds
被编写为将单个代理作为其参数,但with-max
返回一个代理集。one-of
在将p1 赋予 之前,您可以使用原语将代理集转换为代理turtle-bounds
。
to condition
let p1 turtles with-max [item 0 var_a]
turtle-bounds one-of p1
end
或者,您可以签p
入turtle-bounds
以查看它是否是代理集
if is-agentset? p [set p one-of p]
并在那里进行转换,尤其是在其他情况下turtle-bounds
可能会被提供一个代理集而不是一个代理。
推荐阅读
- reactjs - Reactjs Swiper 自动播放功能似乎没有正确实现
- css - 滚动视图中的 Flex 内容ContainerStyle React Native
- php - woocommerce 根据购物车页面中的数量和产品 ID 有条件地隐藏/显示内容
- ios - 封装类中如何处理tableView的scrollView事件?
- reactjs - 无法在hackerearth上运行reactjs代码
- python - 在python中排列字符图
- java - Java Firestore Android 在查询中使用数组列表来显示来自关注用户的帖子
- git - 登录失败即使我在 git Bash 中输入了正确的用户名和密码?
- javascript - 如何将变量传递给运行内联 Javascript 的 Rails?
- python - 在迁移学习中,我们可以改变输入大小吗?