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 : 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
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 : 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
   }
valeur recupere a l'indice apple : green