Boucle for numérique
Parcourez des plages numériques avec la syntaxe for i=start,limit,step.
Boucle for numérique est une leçon Lua Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Lua Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Lua Academy comprend 4 leçons au total.
Syntaxe de for numérique
La boucle for numérique de Lua adopte la forme for var = start, limit, step do. La valeur de step est 1 par défaut si elle est omise. La variable de boucle est locale au corps de la boucle et ne peut pas y être modifiée. La limite et le pas sont évalués une seule fois avant le début de la boucle.
-- Count 1 to 5
for i = 1, 5 do
io.write(i .. " ")
end
print() -- 1 2 3 4 5
-- Count with step 2
for i = 1, 10, 2 do
io.write(i .. " ")
end
print() -- 1 3 5 7 9Compte à rebours avec un pas négatif
Utilisez un pas négatif pour compter à rebours. La boucle continue tant que var >= limit (lorsque le pas est négatif). Si la valeur de départ est déjà inférieure à la limite avec un pas négatif, le corps de la boucle ne s’exécute jamais.
for i = 10, 1, -1 do
io.write(i .. " ")
end
print()
-- 10 9 8 7 6 5 4 3 2 1
-- Step -2
for i = 10, 0, -2 do
io.write(i .. " ")
end
print()
-- 10 8 6 4 2 0La variable de boucle est locale
La variable de contrôle de la boucle (i) est automatiquement locale. Vous ne pouvez pas modifier sa valeur dans la boucle : Lua ignore les affectations à la variable de boucle. Pour suivre les itérations autrement, utilisez une variable locale distincte.
for i = 1, 5 do
-- i is read-only inside the loop
-- i = i + 10 -- this creates a new global i, not the loop var
print(i) -- always 1, 2, 3, 4, 5 as expected
end
-- i is nil here (it was local to the loop)
print(i) -- nil (or whatever global i was)Parcourir des tableaux
L’utilisation la plus courante de for numérique consiste à parcourir des tableaux par indice. Utilisez #arr comme limite. Contrairement à ipairs, cette forme vous permet de contrôler la taille du pas et de parcourir le tableau à l’envers ; elle est aussi légèrement plus rapide pour les tableaux denses.
local fruits = {"apple", "banana", "cherry", "date"}
for i = 1, #fruits do
print(i, fruits[i])
end
-- 1 apple
-- 2 banana
-- 3 cherry
-- 4 dateFaire une somme avec for
Les boucles for numériques sont idéales pour accumuler une valeur à partir de tableaux. Le modèle est toujours le même : initialisez une variable de résultat avant la boucle, mettez-la à jour à l’intérieur, puis utilisez-la après.
local values = {10, 20, 30, 40, 50}
local total = 0
for i = 1, #values do
total = total + values[i]
end
print("Total:", total) -- 150
print("Count:", #values) -- 5
print("Mean:", total / #values) -- 30for numériques imbriqués
Imbriquez deux boucles for numériques pour les opérations en deux dimensions, comme le parcours d’une matrice, d’une table de tables ou la génération de paires de coordonnées. La boucle externe parcourt les lignes et la boucle interne les colonnes ; chaque itération accède à une cellule.
local rows, cols = 3, 4
for r = 1, rows do
for c = 1, cols do
io.write(string.format("%2d ", r * c))
end
print()
end
-- 1 2 3 4
-- 2 4 6 8
-- 3 6 9 12Pas décimaux
Le pas et les limites peuvent être des nombres à virgule flottante, bien que cela puisse entraîner des erreurs de précision. Pour obtenir un nombre exact d’itérations, utilisez des entiers. Si vous devez utiliser des nombres à virgule flottante, sachez que le nombre d’itérations est calculé avec floor((limit - start) / step) + 1.
-- Float step
for x = 0.0, 1.0, 0.25 do
io.write(x .. " ")
end
print()
-- 0.0 0.25 0.5 0.75 1.0
-- Prefer integer math when possible
for i = 0, 4 do
local x = i * 0.25
io.write(x .. " ")
endConstruire une table de résultats
Une boucle for numérique est la méthode standard pour construire une nouvelle table à partir de données existantes. Créez une table vide, puis utilisez la boucle pour la remplir par indice.
local source = {1, 2, 3, 4, 5}
local squares = {}
for i = 1, #source do
squares[i] = source[i] ^ 2
end
for i = 1, #squares do
print(squares[i]) -- 1, 4, 9, 16, 25
endbreak dans un for numérique
Vous pouvez quitter prématurément un for numérique avec break. L’exécution passe à l’instruction située après end. Cela est utile pour une recherche linéaire : parcourez les éléments jusqu’à trouver la cible, puis utilisez break.
local data = {5, 3, 8, 1, 9, 2, 7}
local target = 9
local foundAt = nil
for i = 1, #data do
if data[i] == target then
foundAt = i
break
end
end
if foundAt then
print("Found at index " .. foundAt) -- 5
else
print("Not found")
endCalcul du nombre d’itérations
Le nombre d’itérations de for i = start, limit, step est max(0, floor((limit - start) / step) + 1). Comprendre ce calcul permet d’éviter les erreurs de décalage d’une unité. Lorsque le pas vaut 1, le nombre est simplement limit - start + 1.
-- How many iterations?
local count = 0
for i = 1, 10, 3 do
count = count + 1
end
print(count) -- 4 (i = 1, 4, 7, 10)
count = 0
for i = 5, 1 do -- step=1 but start > limit
count = count + 1
end
print(count) -- 0 (no iterations)Vérification rapide
Quelles valeurs sont parcourues par for i = 10, 1, -3 do ?
Récapitulatif : for numérique
Résumé :
for i = start, limit, step do— le pas vaut 1 par défaut- Pas négatif pour un compte à rebours
- La variable de boucle est automatiquement locale et en lecture seule
- La limite et le pas sont évalués une fois avant le début de la boucle
breakpermet de quitter prématurément- Modèle standard : construire des tables de résultats, rechercher dans des tableaux et accumuler des sommes
Questions Fréquemment Posées
La leçon « Boucle for numérique » est-elle gratuite ?
Oui — le texte complet de « Boucle for numérique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Lua Academy, passe à CoddyKit PRO. Le cours Lua Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Boucle for numérique » ?
Parcourez des plages numériques avec la syntaxe for i=start,limit,step. Tu pratiques Lua Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Lua Academy ?
Aucune expérience préalable n'est requise. Lua Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Boucle for numérique » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Lua Academy ?
Oui. Chaque leçon Lua Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Instructions if, elseif et else
- Boucles while et repeat-until
- Boucle for numérique
- for générique et break