Domanda

Ecco quello che ho finora ... Si crea tabella globale denominata "mod", ma io non riesco a aggiungere indici alla tabella ...

lua_newtable(L);
lua_setglobal(L,"mod");
È stato utile?

Soluzione

Il manuale dice:

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

Fa l'equivalente di t[k] = v, dove t è il valore alla data indice e v valido è il valore in cima alla pila.

     

Questa funzione apre il valore dallo stack.

Quindi, più precisamente: push quello che vuoi aggiungere nello stack, quindi chiamare lua_setfield. Ad esempio:

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

Questo inserisce il campo "answer_to_life ..." con il valore 42 nella tabella.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top