netlogo - 如何在 Netlogo 中的 foreach 命令中关闭多个链接后更新链接列表
问题描述
我有一个链接列表“最大链接”:
set max-links sort-on [(- label)] link-set [max-one-of my-out-links [label]] of turtles
我将这个列表一分为二,并将 end1 的所有海龟设置在一个列表“max-turtles1”中,并将 end2 的所有海龟设置在另一个列表“max-turtles2”中。现在,我用 max-turtles1 和 max-turtles2 定义了一个 foreach:
foreach max-turtles1 max-turtles2
[
[a b] ->
ask a
[
ask my-out-links with [not member? self keep] [die]
set max-links sort-on [(- label)] link-set [max-one-of my-out-links [label]] of turtles
set max-turtles1 map [k -> [end1] of k] max-links
]
ask b
[
ask my-in-links with [not member? self keep2] [die]
set max-links sort-on [(- label)] link-set [max-one-of my-out-links [label]] of turtles
set max-turtles2 map [k -> [end2] of k] max-links
]
]
如此处所示,“使用 [not member? self keep] [die] 询问我的链接”是为 max-turtles1 执行的,“使用 [not member?self keep2] [die] 询问我的链接”是为 max-turtles2 执行。但是,在两个列表的每次迭代之后,必须更新 max-links 列表和 max-turtles1 和 2 列表,然后 foreach 才能移动到下一个项目。我试图通过再次设置(定义)列表来管理此列表更新。但这并没有达到我的预期。
解决方案
推荐阅读
- javascript - 显示最后值和收盘值的 Highcharts 问题
- javascript - Vuejs大文件上传崩溃浏览器
- firebase - 我的 Vue.js 应用程序中的 Firebase 集成问题
- asp.net-mvc - 如何使用来自 ajax 调用的单选按钮选择值更新视图模型?
- hazelcast - HazelCast IMap 为什么在更新地图值时需要 EntryProcessor,因为它是分布式地图(单实例场景)?
- konvajs - KonvaJS 在不损失质量的情况下缩小图像
- sql - Oracle SQL 中的四分位数
- c# - 不正确对齐的字段
- ruby-on-rails - ActiveRecord 按字符串数组排序
- c# - 仅在参考项目检查中使用的 C# 类?