Как я могу создать таблицу в LUA, а затем добавлять значения из C API?

StackOverflow https://stackoverflow.com/questions/4220748

  •  26-09-2019
  •  | 
  •  

Вопрос

Вот что у меня так далеко ... это создает глобальный стол под названием «мод», но я не могу добавить индексы к столу ...

lua_newtable(L);
lua_setglobal(L,"mod");
Это было полезно?

Решение

То руководство говорит:

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" )

Это вставляет поле «Ответ_О_life ...» со значением 42 в стол.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top