MySQL- Руководство разработчика

Userdata и тэги


Поскольку userdata представляют собой объекты, функция lua_pushusertag может создавать новые userdata. Если Lua имеет userdata с данным значением (void*) и тэг, то этот объект размещен. Иначе создается новый userdata с данным значением и тэгом. Если эта функция вызвана с тэгом, равным LUA_ANYTAG , то Lua пробует находить любой объект userdata с данным значением, независимо от его тэга. Если не имеется никакого userdata с этим значением, то новый объект будет создан с тэгом, равным 0.

Userdata может иметь различные тэги, чья семантика известна только ведущей программе. Тэги создаются функцией: int lua_newtag (lua_State *L);

Функция lua_settag меняет тэг объекта в верхней части стека (без того, чтобы получить его): void lua_settag (lua_State *L, int tag);

Объект должен быть userdata или таблицей, данный тэг должен быть значением, созданным с помощью функции lua_newtag.



Содержание раздела