0

I want to pass a Java HashMap to a Lua script from Java code in LuaJ. But all I see is we have chunk.call() and chunk.invoke() where we can pass the arguments or array of LuaValue.valueOf(), which allow us either int, byte, double, string and boolean.

Luatic
  • 8,513
  • 2
  • 13
  • 34
anonymous
  • 3
  • 2

1 Answers1

0

You're looking for LuaValue.tableOf() to create an empty table. You can then call LuaValue.set to insert your HashMap entries. Example:

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()));
Luatic
  • 8,513
  • 2
  • 13
  • 34