我正在使用lua.vm.js为我的节点应用程序的用户提供实时添加功能的能力。为此我有一些JS类,我想在lua中给它们。
现在我遇到了问题,我的一些函数应该返回数组或对象。 在Lua方面,它被翻译为userdata。在大多数情况下,这将起作用,但不适用于应该在ipairs / pair函数中使用的数组。
我现在和#34;在ipairs"或"成对"存在于lua.vm.js
中问题是如何编写一个以lua.vm.js将其用作表格的方式返回数组的函数。
一些示例代码:
JS方面的:
let luaVM = require("lua.vm.js");
let l = new luaVM.Lua.State();
l._G.set("someExampleFunction", {
example: function(){
return [1,2,3,4,5];
}
});
在Lua Side:
local shouldBeTable = someExampleFunction.example()
-- this will not work because shouldBeTable is not a table
for key, value in pairs(shouldBeTable) do
print(value)
end
有没有办法如何做到这一点或编写辅助函数如arrayToTable?