创建补丁的“行程”代理集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建补丁的“行程”代理集相关的知识,希望对你有一定的参考价值。
我正在构建一个模型,其中海龟根据不同的搜索条件“搜索”资源的补丁子集。
我正在尝试构建报告,返回一个排序列表或补丁代理集,然后乌龟可以将其用作搜索的行程。
出于某种原因,我无法将行程存储在海龟拥有的变量中。
一个例子记者是:
to-report availability
let sorted-patches sort-on [ ( (space - occupants) / space ) ] patches with [space > 0]
report sorted-patches
end
当我在控制台中执行show availability
时,它打印出我期望的,一个有序的补丁列表。
但如果我这样做
let test-variable availability
show test-variable
它返回
ERROR: Nothing named TEST-VARIABLE has been defined.
这是一个范围问题,我不能使用let
作为观察者吗?
这是类型的问题吗?我可以不将代理集存储为命名的龟拥有的变量吗?
有没有办法用列表而不是代理集来做同样的事情?
谢谢
根据您的描述,这是一个范围问题。但问题并不是你想用let
和观察者,这是let
的范围。在你试图做的意义上,NetLogo并不是真正的交互式 - 由let
创建的变量在该行的末尾被抛弃。
如果键入let test 3
,按Enter键,然后键入show test
,您将得到相同的错误。但是,如果键入let test 3 show test
,则返回3。
为什么你需要从控制台这个?如果它是用于测试的,那么你可以按照你已经找到的方式来看它 - 只需通过show availability
。如果你在模型运行时将它用于海龟,那么它不是交互式的,没有问题。
以上是关于创建补丁的“行程”代理集的主要内容,如果未能解决你的问题,请参考以下文章
Forge Viewer - 如何在场景中访问(或获取渲染/片段代理)克隆的网格?
解决未能加载文件或程序集“Newtonsoft.Json ...."或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)(代码片段