Lua: Le tutoriel  wxWidgets
Lua
La boucle for .. do .. end

La boucle for j = 1, 5 do ... end, se lit de la façon suivante:

pour chaque valeur de j (de 1 à 5) faire
... ici votre code ...
fin

La boucle prendra fin, lorsque (j) aura atteint sa valeur max. (ici, j = 5)


La déclaration for possède deux formes: Une forme numérique et une forme générique

La boucle for numérique, répète un bloc de code, suivant une progression arithmétique de sa variable de contrôle.

La boucle for générique est utilisée pour effectuer certains travaux sur les fonctions, appelées itérateurs et expliqué dans un chapitre qui leur est consacré.


La boucle for numérique.

La boucle for numérique à la syntaxe suivante;
for valeur = e1, e2, e3  do 
  ... bloc (ici on traite l'information)... 
end	
				
  • e1 représente la variable qui sera incrémentée à chaque tour.
  • e2 represente la limite de fin de boucle.
  • e3 facultatif, represente le 'pas' de boucle. Si e3 est omis le pas sera = 1.

Les trois expressions de contrôle sont évaluées une fois, avant que la boucle ne commence.
Elles doivent être des chiffres.

Vous pouvez aussi utiliser break pour sortir d'une boucle for.

IMPORTANT:
La variable de boucle 'valeur' est locale à la boucle.
Il n'est donc pas nécessaire de la déclarer local.
Vous ne pourrez plus utiliser sa valeur après le end de la boucle, un break ou un return.
Si vous avez besoin de cette valeur, il vous faudra l'affecter à une autre variable avant de sortir de la boucle.

Exemple d'une simple boucle
  
-- Pour exécuter cet exemple, rajouter le code wxWidgets N°1
 
for i = 1, 10 do
  Affiche(i)
end
				

Exemple d'une boucle inverse, (qui décompte par 'pas' de -1)
  
-- Pour exécuter cet exemple, rajouter le code wxWidgets N°2
  
for i = 32, 0, -1 do
 local b = 2^i  -- 2 à la puissance i
 Affiche(i, b)
end
				

La boucle for générique.

La boucle for générique est utilisée pour effectuer certains travaux sur les fonctions, appelées itérateurs.

Elle a la syntaxe suivante: ( recherche de variables dans une table. )

for clef, valeur in pairs(table) do ... bloc ... end
ou
for index, valeur in ipairs(table) do ... bloc ... end
				

Mais en attendant de voir le chapitre consacré à ces itérateurs, souvenez-vous qu'un itérateur est une construction qui permet de répéter ( itérer ) une même instruction sur les différents éléments d'un ensemble d'articles.

Cela permet, par exemple de lire tous les éléments d'une table ou d'une liste, très RAPIDEMENT.

À chaque itération, la fonction est appelée à produire une nouvelle valeur.

Elle s'arrêtera lorsque cette nouvelle valeur sera égale à nil.

Ci-dessous un exemple sur, comment afficher les éléments d'une table.

-- Pour exécuter cet exemple, rajouter le code wxWidgets N°3

local maTable = {1,25,"trois",255,"banane","fraise",12,
"ceci est un exemple",34586}

for k,v in pairs(maTable) do
  Affiche(k, v)
end  
				

Tout comme précédemment, clef ou index et valeur sont locales à la boucle et vous pouvez aussi utiliser un break ou un return pour sortir plus tôt de la boucle.

Pour plus d'information sur cette boucle et des exemples, rendez-vous au chapitre des itérateurs.

logo wxWidgets Le savoir ne vaut que s'il est partagé par tous...
logo-internet_32x32.png Dernière mise à jour, le 20 novembre 2012.
Valid XHTML 1.0 Transitional

wxlualogo
Flèche haut
Flèche gauche
Flèche haut
Flèche droite