NetLogo字典包含这些条目而没有示例: no-patches no-links no-turtles
所有描述都是"报告空补丁/链接/乌龟代理集。"
有人可以提供如何使用它们的示例吗?
答案 0 :(得分:4)
你几乎从不需要它们。通常,他们可以初始化您将在迭代或随着时间推移构建的代理集。
例如,假设我们有一个列出一堆补丁坐标的文件,如下所示:
15 7
-3 18
11 -2
假设我们想要获得相应的补丁。你可以这样做:
file-open "my-patch-data.txt"
let specified-patches no-patches
while [ not file-at-end? ] [
let x file-read
let y file-read
set specified-patches (patch-set (patch x y) specified-patches)
]
然而,大多数情况下,使用NetLogo的代理集查询原语(例如with
,of
,n-of
等等要容易得多)构建代理集,所以你不需要太多。
编辑:正如Nicolas指出的那样,通过构建补丁列表然后将其转换为代理集来实现这一点实际上更快:
file-open "my-patch-data.txt"
let specified-patch-list []
while [ not file-at-end? ] [
let x file-read
let y file-read
set specified-patch-list lput (patch x y) specified-patch-list
]
let specified-patches patch-set specified-patch-list
我确实想到了另一个例子。假设你的每只海龟都需要跟踪他们四处走动时遇到的海龟。您可以将它存储在海龟自己的变量中作为乌龟集。不过,你需要以某种方式初始化这群海龟。这是no-turtles
的用途。