Tableaux typés
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 13 sur 80.
Les tableaux typés sont l’une des fonctionnalités les plus utiles de Luau pour organiser plusieurs valeurs tout en préservant la sécurité des types.
En Lua, un tableau est simplement une table contenant des valeurs aux positions 1, 2, 3, …, et il peut sans problème contenir à la fois un nombre, une chaîne et une valeur booléenne. Luau permet de déclarer qu’une table ne doit contenir que des éléments d’un seul type, à l’aide de la syntaxe {Type} :
local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}Lorsque tu déclares un tableau typé, le vérificateur de types de Luau s’assure que seules des valeurs du type déclaré y sont ajoutées. Insère une chaîne dans un tableau {number} et tu obtiens une erreur de type pendant la modification, avant même que le code ne s’exécute :
local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ erreur de type : string n'est pas un nombreTout ce que tu sais déjà sur les tables Lua s’applique toujours : les tableaux sont indexés à partir de 1 (scores[1] est le premier élément), #scores correspond à la longueur, et table.insert / table.remove fonctionnent comme d’habitude. L’annotation ajoute de la sécurité, pas de nouveau comportement à l’exécution.
Défi
FacileStocke les scores et les noms dans des tableaux typés.
- Déclare
local scores: {number} = {85, 92, 78}. - Déclare
local studentNames: {string} = {"Alice", "Bob", "Charlie"}. - Affiche
scores[1],#scoresetstudentNames[2], un par ligne.
Appuie sur Exécuter le code : la sortie affiche 85, 3 et Bob.
Essayez vous-même
-- 1) déclare scores: {number} et studentNames: {string}
-- 2) affiche le premier score, le nombre de scores et le deuxième nom
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