Używam Lua jako języka skryptowego w mojej grze (C++). W jednej rozmowy (z lua do C++) I sprawdzić, jakiego typu jest na szczycie stosu:W języku C++ wywołanym przez Lua, lua_type (L, 0) zwraca 9, który nie jest udokumentowany.
if(lua_type(L, (0)) == LUA_TSTRING)
ale czasami lua_type (L, (0)) zwraca 9.
nie mogę wydaje się znaleźć jakiekolwiek odniesienia do tego (zwracane wartości powinny zawierać się między -1 a 8 lub LUA_TNONE, LUA_TNIL, ... LUA_TTHREAD).
Co się dzieje?
Znalazlem o następujących lobject.h: '/ * ** dodatkowych elementów dla osób nie wartościami */ #define LUA_TPROTO \t LUA_NUMTAGS #define LUA_TUPVAL \t (LUA_NUMTAGS + 1) #define LUA_TDEADKEY \t (LUA_NUMTAGS + 2) ' Gdzie' LUA_NUMTAGS' jest 9 –