0Pricing
Lua Academy · Leçon

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 9

Compte à 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 0

La 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  date

Faire 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)  -- 30

for 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 12

Pas 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 .. " ")
end

Construire 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
end

break 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")
end

Calcul 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
  • break permet 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

  1. Instructions if, elseif et else
  2. Boucles while et repeat-until
  3. Boucle for numérique
  4. for générique et break
← Retour à Lua Academy