【发布时间】:2021-03-25 14:27:48
【问题描述】:
我下载了一个工作模型,我正在调整它以符合我的标准。我想禁用世界环绕,因此海龟在移动到初始屏幕时受到限制,但是当我这样做时,我收到一个错误消息,告诉我:OF 预期的输入是海龟代理集或补丁代理集或海龟或补丁,但得到了 NOBODY。
【问题讨论】:
标签: netlogo
我下载了一个工作模型,我正在调整它以符合我的标准。我想禁用世界环绕,因此海龟在移动到初始屏幕时受到限制,但是当我这样做时,我收到一个错误消息,告诉我:OF 预期的输入是海龟代理集或补丁代理集或海龟或补丁,但得到了 NOBODY。
【问题讨论】:
标签: netlogo
欢迎来到 StackOverflow!为了将来参考,您的问题有点不完整,因为其他人很难在没有看到您正在使用的代码的情况下帮助您。尝试包含足够的代码供其他人回答您的问题。我无法直接帮助解决您的问题,但我可以提供一些一般信息。
在 NetLogo 中,许多语言原语的行为在启用世界环绕时和未启用时都会发生变化。作为使用patch-ahead 的示例,在双向环绕的世界中,此代码将始终成功:
; turtles will color themselves the color of the patch 1 unit away
ask turtles [
set color ([pcolor] of patch-ahead 1)
]
但是如果在一个或两个方向上禁用了环绕,the patch-ahead of a turtle can return nobody 当乌龟前面没有补丁时,因为乌龟在世界的边缘。在这种情况下,您要求 NetLogo 评估 [pcolor] of nobody,但这是不可能的,并且您会收到与您描述的错误类似的错误。
要解决此问题,您必须查看代码并查看这些错误是在哪里出现的并适当地处理它们。以我为例:
ask turtles [
if patch-ahead 1 != nobody [
set color ([pcolor] of patch-ahead 1)
]
]
你可以阅读更多关于the world topology of NetLogo models in the docs的信息。
【讨论】: