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 vous connaissez déjà en y ajoutant du typage statique graduel. Pensez-y 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 surensemble de Lua 5.1. Tout code Lua 5.1 valid est also du code Luau valid : vous pouvez prendre un script écrit dans les sections précédentes et l'exécuter sous Luau sans aucune modification.
Ce que Luau ajoute par-dessus, ce sont les annotations de type. Une annotation déclare le type de données qu'une variable doit contenir — un string, un number, un boolean, une table — afin que les erreurs puissent être détectées avant même que votre code ne s'exécute :
-- Lua (also valid Luau)
local message = "Hello World"
-- Luau with a type annotation
local message: string = "Hello World"Le mot graduel a son importance : les annotations sont optionnelles. Vous pouvez typer une variable, une fonction ou un fichier entier — le code de style Lua non typé continue de fonctionner pendant que vous ajoutez des types à votre propre rythme.
En retour, vous obtenez de meilleurs outils d'édition, un code plus lisible et une protection contre le genre de bugs que Lua classique ne révèle que lorsque le programme est en cours d'exécution.
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 Maps