我将NetLogo列表从NetLogo传递到Java(扩展),然后再次将其发送回NetLogo,在这里我想将其用作另一个过程的参数。但是,当我将其发送回NetLogo时,LogoList的Java表示似乎已对其进行了更改,以使其包含逗号,即
[0 0]变成[0, 0],当我将其传递给NetLogo时,它会发出抱怨。 (它说它期望一个常数。)

从ExtensionCode中的参数检索列表时,我使用args [0] .getList()。

e:顺便说一句,我将它作为字符串传递回NetLogo。我非常需要这样做,因为这是作为迭代字符串构建过程的一部分进行的。我希望还有办法。

这有意义吗?难道我做错了什么?我假定可以将LogoList转换为迭代器,然后使用LogoListBuilder构建一个新的LogoList,但是我想知道是否有更好的方法:我该怎么做才能将LogoList发送回NetLogo而无需逗号?

最佳答案

要将LogoList(或任何其他NetLogo值)转换为字符串,请不要使用.toString;那只适合调试。在LogoList上调用org.nlogo.api.Dump.logoObject将产生徽标样式的表示形式,而不是Java样式的表示形式。

关于netlogo - LogoList插入逗号,NetLogo-> Java-> NetLogo,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24676146/

10-13 02:41