[lua] Lire une table lua avec index type string dans du c
Hello,
Je sais comment lire un tableau lua dans du c quand les index sont de types numérique (j'utilise un while ... next (indice), comme indique dans la doc)
En lua, il a 'pairs':
Code:
1 2 3
|
fruits = { apple="green", orange="orange", banana="yellow" }
for k,v in pairs(fruits) do print(k,v) end |
apple green
orange orange
banana yellow
--------------------------
Comment faire la même chose dans du code c, pour récupérer les clé/valeur ?
J'ai bien réussi a récupérer les valeurs avec les clefs en dur, mais comment faire pour itérer sur tout le tableau pour tout re-mapper dans une structure de donnée c ?
Code:
1 2 3 4 5 6 7 8 9 10
|
lua_getglobal(L,"fruits"); //L 1 is table object
int t=1;
if(lua_istable(L, t)){
lua_pushstring(L,"apple"); //push the desired STRING on the top of the stack
lua_gettable(L,-2);
printf("valeur recupere a l'indice %s : %s\n", "apple", lua_tostring(L,-1));
lua_pop(L,1); //pop the table value
} |
valeur recupere a l'indice apple : green