netlogo - 删除不同品种海龟之间的链接
问题描述
如果满足条件,我想删除一只乌龟和另一只不同品种的乌龟之间的链接。我正在使用以下代码来执行此操作:
ask one-of turtle1 [
if any? my-out-links with [breed = turtle2]
[ask one-of out-link-neighbors with [breed = turtle2 and value < 0.7] ;; value should refer to a neighbour's characteristics and it represents my condition
[die]
]
]
但是链接似乎被保留了。没有链接被删除。
你能告诉我我的代码有什么问题以及如何相应地修复它吗?
解决方案
我假设turtle1
和turtle2
是两种乌龟。如果是这样,
if any? my-out-links with [breed = turtle2]
永远不会找到任何这样的链接,因为您正在检查是否有任何一个my-out-links
是品种turtle2
,当然没有链接是那个品种的。您想知道链接另一端的海龟是否是品种turtle2
。由于这些是定向链接,因此您要检查的海龟位于end2
.
if any? my-out-links with [[breed] of end2 = turtle2]
会让你知道另一端的乌龟my-out-links
是否是品种turtle2
。
线
ask one-of out-link-neighbors with [breed = turtle2 and value < 0.7] [die]
可能做的比你想要的更多。它要求一个链接邻居龟的品种turtle2
和value < 0.7
死亡。这确实也会杀死链接(因为它已经丢失了它end2
),但是如果你想杀死链接而不是另一端的海龟,你可以在一行中完成所有这些
ask one-of turtle1 [
ask one-of my-out-links with [[breed = turtle2 and value < 0.7] of end2] [die]
]
如果没有这样的外链,那么您将询问nobody
,询问将无济于事。
推荐阅读
- flutter - 将 StatefulWidget 作为参数传递并访问其构造函数
- python - 如何在 python 中添加占位符以在 mysql 数据库中创建表名?
- arrays - 为什么 str1 不能正确打印?
- jquery - 使用 JQuery 设置框的高度
- objective-c - I am using Unix Domain sockets in a macOS application, but my CFSocketRef at some point becomes stale, then crashes on any call. Any solution?
- css - 语义 UI React 更改样式占位符文本 CSS
- bash - grep 相同的符号
- javascript - 想在 npm run build 之后执行我的 js 脚本
- python - 将参数注释为 np.ndarray 有什么意义?
- php - Htaccess 从数据库而不是 IP 地址读取白名单 url