Использование таблиц как массивов
API имеет функции, которые помогают использовать таблицы Lua как массивы, то есть таблицы, индексированные только числами:
void lua_rawgeti(lua_State *L, int index, int n); void lua_rawseti(lua_State *L, int index, int n); int lua_getn(lua_State *L, int index);
lua_rawgeti получает значение энного элемента таблицы в позиции index стека.
lua_rawseti устанавливает значение энного элемента таблицы в позиции index стека к значению наверху стека.
lua_getn возвращает число элементов в таблице в позиции index. Это число представляет собой значение поля n таблицы, если это имеет числовое значение, или самый большой числовой индекс со значением non-nil в таблице.