He creado una tabla Lua en C, pero no estoy seguro de cómo colocar esa tabla en la parte superior de una pila para poder pasarla a una función Lua.Empujando una tabla Lua
¿Alguien sabe cómo hacer esto?
Este es mi código actual:
lua_createtable(state, libraries.size(), 0);
int table_index = lua_gettop(state);
for (int i = 0; i < libraries.size(); i++)
{
lua_pushstring(state, libraries[i].c_str());
lua_rawseti(state, table_index, i + 1);
}
lua_settable(state, -3);
[ Push other things ]
[ Call function ]
¿Cómo presionaría dos tablas diferentes para la misma función? –
El segundo argumento en lua_pcall es el número de argumentos que se pasan a la función, por lo que empujaría ambas tablas en la pila y luego cambiaría la llamada a lua_pcall (L, 2, 0, 0); –