Parcourir avec ipairs
Parcourez les suites dans l’ordre.
Parcourir avec ipairs 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.
Pourquoi utiliser ipairs
Parcourir une séquence par indice fonctionne, mais ipairs est plus clair et plus sûr. Il vous fournit chaque indice et chaque valeur dans l'ordre.
Il commence à l'indice 1 et s'arrête au premier nil, ce qui est idéal pour les séquences sans trous.
local fruits = {"apple", "banana", "cherry"}
for i, v in ipairs(fruits) do
print(i, v)
endLa structure de la boucle
Le modèle est for index, value in ipairs(t) do ... end.
À chaque passage, index est la position commençant à 1 et value est l'élément qui s'y trouve. Aucun compteur manuel n'est nécessaire.
local colors = {"red", "green", "blue"}
for i, c in ipairs(colors) do
print("Color", i, "is", c)
endIgnorer l'indice
Si vous avez uniquement besoin des valeurs, nommez l'indice _ par convention pour indiquer qu'il n'est pas utilisé.
La boucle parcourt tout de même les éléments dans l'ordre, à partir de l'indice 1.
local nums = {10, 20, 30}
local total = 0
for _, n in ipairs(nums) do
total = total + n
end
print("sum:", total)Commence à 1 et s'arrête au premier trou
ipairs commence à l'indice 1 et continue tant que l'indice suivant n'est pas nil.
S'il rencontre un trou, il s'arrête à cet endroit. ipairs s'utilise donc avec des séquences propres, et non avec des tables dont certaines positions sont manquantes.
local t = {"a", "b", nil, "d"}
for i, v in ipairs(t) do
print(i, v)
endAdditionner les valeurs
Une tâche fréquente consiste à réduire une liste à un seul nombre, comme une somme ou un maximum.
ipairs rend cette opération lisible : vous parcourez chaque valeur et vous l'accumulez.
local prices = {3, 7, 2, 9}
local max = prices[1]
for _, p in ipairs(prices) do
if p > max then max = p end
end
print("max:", max)Construire une nouvelle liste
Combinez ipairs avec table.insert pour transformer une séquence en une autre.
Ici, nous doublons chaque nombre dans une nouvelle table tout en conservant l'ordre et les indices commençant à 1.
local src = {1, 2, 3}
local doubled = {}
for _, n in ipairs(src) do
table.insert(doubled, n * 2)
end
print(doubled[1], doubled[2], doubled[3])ipairs ou pairs
pairs parcourt toutes les clés, y compris les clés de type chaîne, sans ordre garanti. ipairs ne parcourt que la suite d'entiers 1, 2, 3... dans l'ordre.
Pour les tableaux ordonnés, utilisez ipairs.
local t = {"x", "y"}
t.name = "extra"
for i, v in ipairs(t) do
print(i, v)
endFiltrer avec une condition
Utilisez un if à l'intérieur de la boucle pour ne conserver que les éléments correspondants.
Ci-dessous, nous rassemblons dans une nouvelle séquence les mots de plus de trois lettres.
local words = {"hi", "hello", "yo", "howdy"}
local long = {}
for _, w in ipairs(words) do
if #w > 3 then table.insert(long, w) end
end
print(long[1], long[2])Rechercher un élément
Pour effectuer une recherche, parcourez la séquence avec ipairs et arrêtez-vous lorsque l'élément est trouvé. L'indice vous indique sa position, en commençant à 1.
Nous quittons rapidement la boucle avec break dès que la cible apparaît.
local names = {"Ann", "Bob", "Cy"}
local found = 0
for i, n in ipairs(names) do
if n == "Bob" then found = i break end
end
print("Bob at index", found)Compter pendant le parcours
Vous pouvez compter les correspondances en incrémentant une variable à l'intérieur de la boucle.
Cela évite de manipuler directement les indices tout en parcourant la séquence entière.
local marks = {5, 8, 3, 9, 6}
local passes = 0
for _, m in ipairs(marks) do
if m >= 6 then passes = passes + 1 end
end
print("passing:", passes)ipairs imbriqués
Pour une table de tables, imbriquez deux boucles ipairs afin de parcourir chaque cellule.
La boucle extérieure parcourt les lignes et la boucle intérieure les colonnes, toutes deux en commençant à 1.
local grid = {{1, 2}, {3, 4}}
for _, row in ipairs(grid) do
for _, cell in ipairs(row) do
print(cell)
end
endVérification rapide
Rappelez-vous où ipairs commence et où il s'arrête.
Récapitulatif
Vous avez appris le modèle for i, v in ipairs(t) : il parcourt une séquence dans l'ordre, en commençant à 1, et s'arrête au premier trou.
Utilisez-le pour additionner, filtrer, rechercher et transformer des listes. Ensuite, vous mesurerez la longueur avec # et ordonnerez les éléments avec table.sort.
Questions Fréquemment Posées
La leçon « Parcourir avec ipairs » est-elle gratuite ?
Oui — le texte complet de « Parcourir avec ipairs » 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 « Parcourir avec ipairs » ?
Parcourez les suites dans l’ordre. 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 « Parcourir avec ipairs » ?
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
- Tableaux sous forme de tables
- Ajouter et supprimer des éléments
- Parcourir avec ipairs
- Longueur et tri