J'ai créé une table Lua en C, mais je ne suis pas sûr de savoir comment pousser cette table sur le dessus d'une pile pour pouvoir la passer à une fonction Lua.Pousser une table Lua
Est-ce que quelqu'un sait comment faire cela?
Ceci est mon code actuel:
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 ]
Comment est-ce que je pousserais deux tables différentes à la même fonction? –
Le deuxième argument de lua_pcall est le nombre d'arguments transmis à la fonction, donc vous devez pousser les deux tables sur la pile et ensuite changer la pcall en lua_pcall (L, 2, 0, 0); –