Itérateurs en Lua
Introduction aux itérateurs
Les itérateurs sont des outils fondamentaux dans la programmation, permettant de parcourir un ensemble de données. En Lua, ils sont particulièrement utiles pour effectuer des répétitions, que ce soit un nombre déterminé de fois ou jusqu'à ce qu'une condition spécifique soit atteinte.
Types d'itération
En Lua, plusieurs méthodes existent pour itérer ou répéter du code. Certaines sont conçues pour parcourir des tableaux, tandis que d'autres se concentrent sur l'exécution répétée d'une commande tant qu'une condition est valide. Voici quelques exemples d'itérations conditionnelles.
Boucle While
L'une des formes d'itération les plus communes est la boucle "while". En Lua, celle-ci se construit avec le mot-clé while
, et le corps de la boucle est délimité par les mots-clés do
et end
, à la différence des accolades que vous pourriez retrouver dans d'autres langages. Il est également possible d'utiliser la syntaxe repeat-until
qui remplit une fonction similaire.
-- Cette itération va exécuter le code fourni tant que la CONDITION est vraie.
x = 2
while x > 0 do
print("x est encore supérieur à 0!")
x -= 1
done
print("x n'est plus supérieur à 0!")
-- Répéter une Tâche jusqu'à ce que la CONDITION soit vraie.
i = 1
repeat
i = i + 1
print(i) -- 1, 2, 3, 4, ..., 20
until i == 20 -- Arrête l’itération lorsque 'i' devient 20
Boucle For
Il est également possible de créer une boucle pour parcourir les éléments d'une liste en utilisant la syntaxe for i = n1, n2, n3 do
. Cette méthode d'itération ne récupère pas automatiquement les paires indice-valeur, mais répète une tâche un nombre déterminé de fois. Les valeurs n
sont généralement utilisées pour indiquer le début, la fin et l'incrément d'une boucle classique.
-- Répéter la méthode "print" avec ce type d'itération.
for i = 1, 3 do
print(i) -- Affiche 1, 2, 3
end
--[[
Ceci peut également être inversé en utilisant un troisième paramètre facultatif.
Ce paramètre contrôlera comment 'i' s'incrémente à chaque itération.
]]--
for i = 3, 1, -1 do
print(i) -- Affiche 3, 2, 1
end
Parcourir des tableaux avec itérateurs
Les itérateurs peuvent également servir pour parcourir des tableaux. Pour cela, le mot-clé global pairs
est utilisé afin d'itérer à travers un tableau de manière ordonnée.
list = {"🌽", "🥦", "🍄"}
for Index, Value in pairs(list) do
print(Index) -- Affiche 1, 2, 3
print(Value) -- Affiche 🌽, 🥦, 🍄
end