Jak mogę uzyskać rozmiar tabeli Lua w C?Pobierz tabelę wielkości Lua w C
static int lstage_build_polling_table (lua_State * L) {
lua_settop(L, 1);
luaL_checktype(L, 1, LUA_TTABLE);
lua_objlen(L,1);
int len = lua_tointeger(L,1);
printf("%d\n",len);
...
}
mój kod Lua:
local stages = {}
stages[1] = stage1
stages[2] = stage2
stages[3] = stage3
lstage.buildpollingtable(stages)
its drukowanie 0 zawsze. Co ja robię źle?
"Rozmiar stołu" to dziwny termin, którego należy użyć. Otrzymujesz długość sekwencji w tabeli (prawdopodobnie 0), jeśli tabela ma sekwencję zdefiniowaną w instrukcji, inaczej nieokreślona. –