Comment puis-je créer une table dans Lua, puis ajouter des valeurs de l'API C?
Question
Voici ce que j'ai à ce jour ... Il crée le tableau global appelé « mod », mais je ne peux pas sembler ajouter des index à la table ...
lua_newtable(L);
lua_setglobal(L,"mod");
La solution
Le manuel dit:
void lua_setfield (lua_State *L, int index, const char *k);
t-elle l'équivalent de
t[k] = v
, oùt
est la valeur à l'indice de validité donnée etv
est la valeur dans la partie supérieure de la pile.Cette fonction affiche la valeur de la pile.
Alors, plus précisément: pousser tout ce que vous voulez ajouter sur la pile, puis appelez lua_setfield
. Par exemple:
lua_pushnumber( L, 42 );
lua_setfield( L, -2, "answer_to_life_universe_and_rest" )
insère le champ "answer_to_life ..." avec valeur 42
dans la table.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow