2010-11-18 6 views

risposta

7

Il manual dice:

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

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

Questa funzione consente di inserire il valore dalla pila.

Quindi, più precisamente: spingere quello che si desidera aggiungere nello stack, quindi chiamare lua_setfield. Per 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.

+0

Solleva un errore ... –

+1

'lua_pushnumber (L, 42);' – lhf

+0

nvm: P Ho avuto le righe confuse –