我真的坚持这一点,肯定搜索了我的谷歌,试图用 luajava 将表从 lua“导入”到 java 中的数组......现在,我已经能够做一些简单的事情,打印 lua- java中的vars并从表中读取单个元素..一切都在这里工作
JAVA
LuaState L = LuaStateFactory.newLuaState();
L.openLibs();
L.LdoFile("data/test.lua");
L.getGlobal("x"); //I want to read lua-variable x
LuaObject obj = L.getLuaObject(L.getTop()); //So I get the top-element here
System.out.println(obj.getField("Version"));
卢阿
x = { ["Version"] = 1.3,["Scans"] = 3 }
现在,这对于检索单个值显然相当容易,但我想将整个对象放入 Java(作为数组或其他任何东西),所以我可以用它做一些事情。我尝试循环遍历那个 LuaObject 但因为它是还不是可迭代的或“真正的”数组,那是不可能的。简单的输出obj
会告诉我它是一个 lua 表,我用 .getObject 尝试了很多愚蠢的东西,但没有成功。然后我读了一些关于代理和 .pcall 的东西(这看起来像是将 Java 中的值传递给 lua 中的函数,这不是我想要的)在(非常非常糟糕的)记录的 javadoc 中找不到任何东西,所以我希望有人有这方面的经验.. 可能真的很容易,但很难找到相关信息。对这方面的任何信息感到非常高兴!
ps 我不能更改原始 lua 文件(稍后),但该文件将只包含一个大表..