Menu
CoddyTech

Parcourir les tables

Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 17 sur 80.

Tu as déjà parcouru des tables Lua de nombreuses fois : Luau conserve exactement les mêmes boucles et ajoute des types aux variables de boucle. Pour les tableaux, ipairs parcourt les éléments dans l’ordre, de l’indice 1 jusqu’à #t, et tu peux annoter les deux variables :

local temps: {number} = {18, 21, 19}
for day: number, temp: number in ipairs(temps) do
    print(`Day {day}: {temp}`)
end

N’oublie pas que ipairs s’arrête au premier indice manquant : un trou nil au milieu met fin prématurément à la boucle. C’est rarement un problème avec des tableaux bien entretenus, mais il est bon de le savoir.

Pour les tables associatives, utilise pairs, qui parcourt chaque paire clé-valeur, y compris les clés de type chaîne. Dans une table associative {[string]: number}, les variables de boucle sont naturellement de type string et number :

local ages: {[string]: number} = {Alice = 30, Bob = 25}
for name: string, age: number in pairs(ages) do
    print(`{name} is {age}`)
end

Une mise en garde importante : pairs parcourt les clés de la partie hachée dans un ordre non garanti. Cet ordre peut varier d’une exécution à l’autre. Lorsque tu as besoin d’un résultat déterministe (rapports triés, tests), rassemble les clés dans un tableau, trie-le avec table.sort, puis parcours les clés triées avec ipairs et accède aux valeurs de la table associative.

challenge icon

Défi

Facile

Affiche une semaine de températures et leur total.

  1. Déclare local temps: {number} = {12, 15, 11, 14} et local total = 0.
  2. Effectue une boucle avec for day: number, temp: number in ipairs(temps) do, affiche `Day {day}: {temp}` et ajoute temp à total.
  3. Après la boucle, affiche total.

Appuie sur Exécuter le code : la sortie affiche Day 1: 12 à Day 4: 14, puis 52.

Essayez vous-même

-- 1) déclarer temps : {number} et total = 0
-- 2) parcourir avec day et temp typés, afficher chaque day, ajouter à total
-- 3) afficher le total

Toutes les leçons de Introduction à Luau

Entraînez-vous par vous-même : Compilateur Luau en ligne