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

Управление глобальными переменными в Lua


Чтобы прочитать значение глобальной переменной Lua, надо: void lua_getglobal (lua_State *L, const char *varname);

Это помещает в стек значение данной переменной. Как в Lua эта функция может вызывать метод тэга для события getglobal. Чтобы читать реальное значение глобальной переменной без того, чтобы вызывать любой метод тэга, используют lua_rawget над таблицей глобальных переменных.

Чтобы записать значение в глобальнукю переменную: void lua_setglobal (lua_State *L, const char *varname);

Это извлекает из стека значение, которое будет сохранено в данной переменной. Как в Lua эта функция может вызывать метод тэга для события setglobal. Чтобы устанавливать реальное значение глобальной переменной без того, чтобы вызывать любой метод тэга, используют lua_rawset над таблицей глобальных переменных (подробности приведены ниже).

Все глобальные переменные сохраняются в обычной Lua-таблице. Вы можете получать ее вызовом: void lua_getglobals (lua_State *L);

Это помещает текущую (актуальную) таблицу глобальных переменных в стек. Чтобы устанавливать другую таблицу глобальных переменных, используйте вызов: void lua_setglobals (lua_State *L);

Таблица, которую нужно использовать, извлекается из стека.



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