Tout ce qui a précédé était là simplement pour essayer de vous faire comprendre la façon dont fonctionne un itérateur.
Sauf cas exceptionnel, vous ne devriez pas avoir à vous en servir, mais il est toujours bon de bien comprendre le pourquoi du comment des choses.
En résumé, deux fonctions Lua sont à votre disposition lorsque vous aurez besoin de parcourir une table ou une liste de noms.
Il s'agit des fonctions pairs() et ipairs(), qui s'utilisent de la façon suivante.
for k, v in pairs(t) do .. corps .. end for i, v in ipairs(t) do .. corps .. end
Chaque fonction va parcourir TOUTE la table (t) en relevant à chaque index ou chaque clé, la valeur qui va avec.
Dans le corps de la fonction, on fait ce dont on a besoin à partir de ces clé-valeur ou index-valeur.
Comme par exemple:
if i == 25 then print( v ) end ou if k == "fleurs" then print( v ) end
-- Pour exécuter cet exemple, rajouter le code wxWidgets N°3 local table = {3, banane = "jaune", 10, pi = 3.14159, 17, fruit = "banane"} for key, valeur in pairs(table) do print(key, valeur) --> 1 3 --> 2 10 --> 3 17 --> pi 3.14159 --> fruit banane --> banane jaune end
-- Pour exécuter cet exemple, rajouter le code wxWidgets N°3 local table = {3, "cinq", 10, "vingt-cinq", 17, 18} for index, valeur in ipairs(table) do Affiche(index, valeur) --> 1 3 --> 2 "cinq" --> 3 10 --> 4 "vingt-cinq" --> 5 17 --> 6 18 end
Vous remarquerez qu'avec pairs les résultats ne sont pas dans le même ordre que celui de la table.
Alors qu'avec ipairs les résultats sont affichés dans le même ordre que celui de la table.