Netlogo 调查结果;“类型”;(报告者/命令,以及不同的上下文)程序

Netlogo 调查结果;“类型”;(报告者/命令,以及不同的上下文)程序,netlogo,Netlogo,我试图提取并排序模型中所有过程的列表。基本上,我只需要可以在观察者上下文中运行的过程,并且只需要命令,而不是报告者。工作区有一个.getProcedures():Map方法,我正在从该方法访问过程对象 这就引出了两个相关的问题:1。有没有办法确定过程对象是报告程序还是命令?NetLogo桌面版似乎能够做到这一点,所以我认为答案可能是肯定的。二,。有没有办法让我知道一个过程的上下文是什么,即它是补丁/海龟/链接过程还是观察者过程?显示该过程有一个语法方法返回一个api.syntax对象。这里有您需

我试图提取并排序模型中所有过程的列表。基本上,我只需要可以在观察者上下文中运行的过程,并且只需要命令,而不是报告者。工作区有一个
.getProcedures():Map
方法,我正在从该方法访问过程对象

这就引出了两个相关的问题:1。有没有办法确定
过程
对象是报告程序还是命令?NetLogo桌面版似乎能够做到这一点,所以我认为答案可能是肯定的。二,。有没有办法让我知道一个过程的上下文是什么,即它是补丁/海龟/链接过程还是观察者过程?

显示该过程有一个语法方法返回一个
api.syntax
对象。这里有您需要的方法,即
ret
(根据是命令还是报告程序,它将是
语法.VoidType
语法.WildcardType
)和
agentClassString
(可能是例如“OTPL”)


哦,实际上我现在也看到了,过程的第一个构造函数参数是
tyype
(额外的y是因为
Type
是Scala中的一个关键字),所以对于问题的第一部分,您可以同样很好地检查它,看看它是
COMMAND
还是
REPORTER
。信息被冗余存储可能没有什么好的理由。

太好了!非常感谢你。