Tableaux typés
Fait partie de la section Introduction à Luau du Journey Lua de Coddy — leçon 13 sur 73.
Les Typed arrays (tableaux typés) sont l'une des fonctionnalités les plus utiles de Luau pour organiser plusieurs valeurs tout en garantissant la sécurité du typage.
En Lua, un tableau est simplement une table contenant des valeurs aux positions 1, 2, 3, … — et elle peut contenir sans problème un number, un string et un boolean en même temps. 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 s'assure que seules des valeurs du type déclaré y sont insérées. Si vous insérez une chaîne dans un tableau {number}, vous obtiendrez une erreur de type pendant l'édition — 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 numberTout ce que vous savez déjà sur les tables Lua s'applique toujours : les tableaux sont basés sur l'indice 1 (scores[1] est le premier élément), #scores donne la longueur, et table.insert / table.remove fonctionnent comme d'habitude. L'annotation ajoute de la sécurité, mais ne modifie pas le comportement à l'exécution.
Défi
FacileCréez un tableau typé nommé scores qui ne peut contenir que des nombres, initialisé avec 85, 92 et 78.
Créez un second tableau typé nommé studentNames qui ne peut contenir que des chaînes de caractères, initialisé avec "Alice", "Bob" et "Charlie".
Ensuite, affichez, chacun sur sa propre ligne :
- le premier score
- le nombre total de scores (utilisez
#) - le nom du deuxième é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 deuxième 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 Maps