15

Вопрос по c – Lua 5.2 LUA_GLOBALSINDEX Альтернатива

У меня есть программа, которая встраивает Lua и реализует форму поиска ленивых функций. Как это работает в Lua 5.1, когда символ не определен, интерпретатор вызывает глобальную функцию-ловушку, которая затем разрешает символ. Это небольшая ...

1 ответ

14

глобальная среда теперь хранится по специальному индексу вреестр, Пытаться:

//-- get global environment table from registry
lua_rawgeti(pLuaState, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS);

//-- create table containing the hook details
lua_newtable(pLuaState);
lua_pushstring(pLuaState, "__index");
lua_pushcfunction(pLuaState, function_hook);
lua_settable(pLuaState, -3);

//-- set global index callback hook
lua_setmetatable(pLuaState, -2);

//-- remove the global environment table from the stack
lua_pop(pLuaState, 1);

Похожие вопросы