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':
apple green
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 fruits = { apple="green", orange="orange", banana="yellow" } for k,v in pairs(fruits) do print(k,v) end
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 ?
valeur recupere a l'indice apple : green
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
Partager