¿Cómo puedo crear una tabla en Lua, a continuación, añadir los valores de la API de C?
Pregunta
Esto es lo que tengo hasta ahora ... Se crea la tabla global llamada "mod", pero me parece que no puede añadir índices a la mesa ...
lua_newtable(L);
lua_setglobal(L,"mod");
Solución
El manual de dice:
void lua_setfield (lua_State *L, int index, const char *k);
hace el equivalente a
t[k] = v
, dondet
es el valor en el índice válido dado yv
es el valor en la parte superior de la pila.Esta función aparece el valor de la pila.
Por lo tanto, más precisamente: Empuje lo que desea agregar a la pila, a continuación, llamar lua_setfield
. Por ejemplo:
lua_pushnumber( L, 42 );
lua_setfield( L, -2, "answer_to_life_universe_and_rest" )
Esto inserta el campo "answer_to_life ..." con valor 42
en la tabla.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow