¿Cómo puedo crear una tabla en Lua, a continuación, añadir los valores de la API de C?

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

  •  26-09-2019
  •  | 
  •  

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");
¿Fue útil?

Solución

El manual de dice:

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

hace el equivalente a t[k] = v, donde t es el valor en el índice válido dado y v 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
scroll top