Ich habe eine Lua-Tabelle in C erstellt, aber ich bin mir nicht sicher, wie diese Tabelle auf die Spitze eines Stapels schieben, damit ich es an eine Lua-Funktion übergeben kann.Pushing eine Lua-Tabelle
Weiß jemand, wie man das macht?
Dies ist mein aktueller Code:
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 ]
Wie würde ich zwei verschiedene Tabellen auf die gleiche Funktion schieben? –
Das zweite Argument in lua_pcall ist die Anzahl der Argumente, die an die Funktion übergeben werden, sodass Sie beide Tabellen auf den Stapel schieben und dann den pcall in lua_pcall (L, 2, 0, 0) ändern; –