Qu'est-ce que Luau ?
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 1 sur 73.
Luau est un langage de programmation créé chez Roblox qui s'appuie sur le Lua que tu connais déjà en y ajoutant des types statiques graduels. Considère-le comme du Lua avec une couche supplémentaire de sécurité et d'outils. Il alimente des millions d'expériences Roblox et est open source depuis 2021.
L'idée clé est que Luau est un sur-ensemble de Lua 5.1. Tout code Lua 5.1 valide est également du code Luau valide : tu peux prendre un script écrit dans les sections précédentes et l'exécuter en tant que Luau, sans le modifier.
Ce que Luau ajoute par-dessus, ce sont les annotations de type. Une annotation déclare quel type de données une variable doit contenir — une chaîne de caractères, un nombre, un booléen, une table — afin que les erreurs puissent être détectées avant même l'exécution de ton code :
-- Lua (également valide Luau)
local message = "Hello World"
-- Luau avec une annotation de type
local message: string = "Hello World"Le mot graduel est important : les annotations sont facultatives. Tu peux typer une variable, une fonction ou un fichier entier : le code Lua non typé continue de fonctionner pendant que tu ajoutes des types à ton propre rythme.
En contrepartie, tu bénéficies de meilleurs outils dans l'éditeur, d'un code plus lisible et d'une protection contre le type de bogues que Lua classique ne révèle que pendant l'exécution du programme.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
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