当前位置: 首页 > 知识库问答 >
问题:

LogoLists插入逗号,NetLogo->Java->NetLogo

晋安国
2023-03-14

我将一个NetLogo列表从NetLogo传递到Java(到一个扩展),然后再次将其发送回NetLogo,在那里我想将其用作另一个过程的参数。但当我将其发送回NetLogo时,logolost的Java表示似乎已经改变了它,使其包含逗号,即。

[0 0]变成了[0,0],当我把它传下去时,NetLogo会抱怨。(它说它期望一个常数。)

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

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

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

共有2个答案

越雨泽
2023-03-14

我不知道这是否可以为@Seth回复添加一些内容,但如果你也需要在Java中构建列表,你也可以在DefaultPress中使用:

LogoListBuilder newList = new LogoListBuilder();
// do your stuff... then:
return newList.toLogoList();

这样,当您在NetLogo中处理列表时,列表的格式是正确的。

杨甫
2023-03-14

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

 类似资料:
  • 问题内容: 下面是csv的示例行 您可以将 KRISHNA KUMAR ASHOKU,AR 视为单个字段,但是由于逗号,它会将KRISHNA KUMAR ASHOKU和AR视为两个不同的字段,尽管它们用“”括起来,但还是没有运气 我试过了 有什么解决方案吗? 问题答案: 答案是:您不能那样做。请参阅http://technet.microsoft.com/zh- cn/library/ms1883

  • 问题内容: 我的程序从文件中读取一行。此行包含逗号分隔的文本,例如: 我希望拆分的结果是这样的: 如果使用,我将得到: 换句话说:子字符串中的逗号不是分隔符。该如何处理? 问题答案: 你可以尝试以下正则表达式: 这将分割字符串,,后跟偶数双引号。换句话说,它用双引号引起来的逗号分隔。如果你在字符串中使用了引号,则此方法将起作用。 说明: 你甚至可以在代码中使用正则表达式使用修饰符来键入此类内容。修

  • 问题内容: 我有一个模糊的字符串,像这样: 我想按逗号分割-但我需要忽略引号中的逗号。我怎样才能做到这一点?似乎正则表达式方法失败了;我想我可以在看到报价时手动扫描并进入其他模式,但是使用预先存在的库会很好。(编辑:我想我的意思是那些已经属于JDK或已经属于诸如Apache Commons之类的常用库的库。) 上面的字符串应分为: 注意:这不是CSV文件,它是文件中包含的单个字符串,具有较大的整体

  • 问题内容: 我有这样一个字符串: 我想按逗号分割-但我需要忽略引号中的逗号。我怎样才能做到这一点?似乎正则表达式方法失败了;我想我可以在看到报价时手动扫描并进入其他模式,但是使用预先存在的库会很好。 上面的字符串应分为: 问题答案: 可以使用正则表达式 输出:

  • 我这么做是因为我希望使用64位java在Netlogo中实现R扩展。在32位加载时,它会立即关闭。 再说一遍,我不希望每次都使用cmd来启动NetLogo。此外,从R启动NetLogo实例也会增加它的功能。