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
。信息被冗余存储可能没有什么好的理由。太好了!非常感谢你。