Tableaux typés
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 13 sur 73.
Les tableaux typés sont l'une des fonctionnalités les plus utiles de Luau pour organiser plusieurs valeurs tout en conservant la sécurité des types.
En Lua, un tableau est simplement une table contenant des valeurs aux positions 1, 2, 3, …, et il peut parfaitement contenir à la fois un nombre, une chaîne et un booléen. Luau vous permet de déclarer qu'une table ne doit contenir que des éléments d'un seul type, en utilisant la syntaxe {Type} :
local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}Lorsque vous déclarez un tableau typé, le vérificateur de types de Luau impose que seules des valeurs du type déclaré y soient placées. Insérez une chaîne dans un tableau {number} et vous obtenez une erreur de type pendant la modification du code, avant même que celui-ci ne soit exécuté :
local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ erreur de type : string n'est pas un numberTout ce que vous savez déjà sur les tables Lua reste valable : 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é, et non un nouveau comportement à l'exécution.
Défi
FacileCrée un tableau typé nommé scores qui ne peut contenir que des nombres, initialisé avec 85, 92 et 78.
Crée un deuxième tableau typé nommé studentNames qui ne peut contenir que des chaînes de caractères, initialisé avec "Alice", "Bob" et "Charlie".
Ensuite, affiche, chacun sur sa propre ligne :
- le premier score
- combien il y a de scores (utilise
#) - le deuxième nom d’étudiant
Essayez vous-même
-- Écrivez le code ici
-- 1) déclarez scores : {number} et studentNames : {string}
-- 2) affichez le premier score, le nombre de scores, et le second nom
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
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
Typage des paramètres et valeurs de retourTypage des fonctions anonymesFonctions ne retournant rienParamètres optionnelsValeurs par défaut des paramètresFonctions variadiquesDéfinition des types de fonctionsRécapitulatif : Fonctions typées2Types fondamentaux
Types de base : num, str, boolLe type 'any' : la porte de sortieLe type 'unknown'Types Nil et optionnelsL'inférence de type en actionAnnotations explicites de typeRécapitulatif : Pratique des 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ésAjout et lecture d'élémentsQu'est-ce qu'un type Map ?Déclaration et accès aux MapsItération sur les tablesTables à formes mixtesTableaux typés multidimensionnelstable.unpack et VarargsRécapitulatif : Tableaux et MapsEntraînez-vous par vous-même : Compilateur Lua en ligne