为什么可以';此代码是否由NetLogo中的观察者运行

为什么可以';此代码是否由NetLogo中的观察者运行,netlogo,Netlogo,当我运行如下代码时: ask an-agent [set a-field (turtle-set n-values <number> [<reporter>]) let a-value (turtle-set n-values <number> [<reporter>]) ask an-agent [set a-field a-value] 但当我这样写的时候: ask an-agent [set a-field (turtle-set n-v

当我运行如下代码时:

ask an-agent [set a-field (turtle-set n-values <number> [<reporter>])
let a-value (turtle-set n-values <number> [<reporter>])
ask an-agent [set a-field a-value]
但当我这样写的时候:

ask an-agent [set a-field (turtle-set n-values <number> [<reporter>])
let a-value (turtle-set n-values <number> [<reporter>])
ask an-agent [set a-field a-value]
让a值(海龟设置n值[])
询问代理[设置a字段a值]
一切正常

为什么第二个版本有效,而第一个版本无效


谢谢。

正如您所写的,这段代码应该很好。我猜是报告器中传递给
n-values
的内容造成了问题。您介意发布该行的完整代码吗?为了澄清-您的工作示例中的
field
与第一个示例中的
a-field
相同吗?两者都应该是a-field。上面已对其进行了编辑。以下是报告者:
[路径与路由随机播放节点列表]
,其中
节点列表
是同一过程中的局部变量,
路径与路由
如下所示
使用路径[a-route]报告路径
让a-path无人
创建路径1[
设置隐藏?true
设置路径路径a-route
设置路径a-route的路径长度设置a-path自身
报告a-path结束
(很抱歉,我无法将其格式化为注释。)只有观察者可以
创建
。例如,尝试在命令行中输入以下内容:
crt 1 ask turtle 0[crt 1]