将 Java HashMap 传递给 Lua 脚本

Pass Java HashMap to Lua script

我想将 Java HashMap 从 LuaJ 中的 Java 代码传递到 Lua 脚本。但我所看到的是我们有 chunk.call()chunk.invoke(),我们可以在其中传递 LuaValue.valueOf() 的参数或数组,这允许我们使用 int、byte、double、string 和 boolean。

您正在寻找 LuaValue.tableOf() to create an empty table. You can then call LuaValue.set 来插入您的 HashMap 条目。示例:

LuaValue table = LuaValue.tableOf();
// assuming map is a HashMap of the "primitive" Lua types valueOf supports
for (Entry e : map.entrySet())
    table.set(LuaValue.valueOf(e.getKey()), LuaValue.valueOf(e.getValue()));