Справочное руководство по языку Lua 5.1 :: 3.3 - Псевдо-индексы
3.3 – Псевдо-индексы
За исключением особых случаев, любая параметризованная функция Lua может быть вызвана с псевдо-индексами. (Так как параметры передаются в функции через стек, каждому входному параметру соответствует индекс стека. Здесь речь идет и мнимых индексах стека – фактически это специальные переменные Lua, с которыми можно работать как с элементами стека). Это переменные Lua, доступные из С-кода, но не находящиеся в стеке. Псевдо-индексы используются для доступа к окружению потока, окружению функции, регистру и внешним значениям (§3.4).
Окружение потока (пространство жизни глобальных переменных) всегда доступно посредством псевдо-индекса LUA_GLOBALSINDEX. Окружение запущенной С-функции – это всегда псевдо-индекс LUA_ENVIRONINDEX.
Для доступа и изменения значения глобальных переменных вы можете использовать обычную таблицу операций над таблицей окружения. Например, доступа к значению глобальной переменной:
lua_getfield(L, LUA_GLOBALSINDEX, varname);