В руководстве написано:
void lua_setfield (lua_State *L, int index, const char *k);
Соответствует ли t[k] = v
, где t
- значение по данному действительному индексу, а v
-значение в верхней части стека.
Эта функция извлекает значение из стека.
Итак, точнее: поместите в стек все, что вы хотите добавить, затем вызовитеlua_setfield
.Например:
lua_pushnumber( L, 42 );
lua_setfield( L, -2, "answer_to_life_universe_and_rest" )
Вставляет поле "answer_to_life ..." со значением 42
в таблицу.