Pergunta

Aqui está o que eu tenho até agora ... cria tabela global chamada "mod", mas não consigo adicionar índices à tabela ...

lua_newtable(L);
lua_setglobal(L,"mod");
Foi útil?

Solução

o manual diz:

void lua_setfield (lua_State *L, int index, const char *k);

Faz o equivalente a t[k] = v, Onde t é o valor no índice válido dado e v é o valor na parte superior da pilha.

Esta função mostra o valor da pilha.

Então, mais precisamente: empurre o que quiser adicionar na pilha, depois ligue lua_setfield. Por exemplo:

lua_pushnumber( L, 42 );
lua_setfield( L, -2, "answer_to_life_universe_and_rest" )

Isso insere o campo "Resposta_to_life ..." com valor 42 na mesa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top