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}`)
endN’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}`)
endUne 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.
Défi
FacileAffiche une semaine de températures et leur total.
- Déclare
local temps: {number} = {12, 15, 11, 14}etlocal total = 0. - Effectue une boucle avec
for day: number, temp: number in ipairs(temps) do, affiche`Day {day}: {temp}`et ajoutetempàtotal. - 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
1Premiers pas avec Luau
Qu'est-ce que Luau ?Pourquoi utiliser Luau ?Votre premier code LuauVérification de type et modes d'erreurRécapitulatif : Introduction à Luau4Travailler avec les fonctions
Typer les paramètres et les valeurs de retourTyper les fonctions anonymesFonctions sans valeur de retourParamètres optionnelsValeurs par défaut des paramètresValeurs par défaut pour les booléensFonctions variadiquesDéfinir des types de fonctionsRécapitulatif : fonctions typées7Projet : gestionnaire de tâches typé
Projet : la structure d’une tâcheFonction pour ajouter une tâche2Types fondamentaux
Nombre, chaîne de caractères et booléenLe type « any » : une échappatoireLe type « unknown »Types nil et optionnelsL’inférence de types en actionAnnotations de type explicitesRécapitulatif : exercices sur les types fondamentaux5Alias, unions et intersections
Alias de types pour les types primitifsTypes unionsTravailler avec les types unionsTypes littérauxTypes intersectionsCombinaison d'alias de typesRécapitulatif : Combinaisons de types avancées3Tables typées : tableaux et maps
Tableaux typésAjouter et lire des élémentsQu’est-ce qu’un type Map ?Déclarer et accéder aux mapsParcourir les tablesTables de formes mixtesLire une grilleConstruire une grilletable.unpackRécapitulatif : tableaux et mapsEntraînez-vous par vous-même : Compilateur Luau en ligne