Qu'est-ce que Luau ?
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 1 sur 80.
Luau est un langage de programmation créé chez Roblox, qui s’appuie sur Lua, que tu connais déjà, en y ajoutant des types statiques progressifs. Considère-le comme 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, ce sont des annotations de type. Une annotation déclare le type de données qu’une variable doit contenir : une chaîne de caractères, un nombre, un booléen ou une table. Ainsi, les erreurs peuvent être détectées avant même l’exécution de ton code :
-- Lua (également valide en Luau)
local playerName = "Rio"
-- Luau avec une annotation de type
local playerName: string = "Rio"Le mot progressif est important : les annotations sont facultatives. Tu peux typer une variable, une fonction ou un fichier entier : le code non typé de style Lua continue de fonctionner pendant que tu ajoutes des types à ton rythme.
En contrepartie, tu bénéficies de meilleurs outils dans l’éditeur, d’un code plus lisible et d’une protection contre les types de bogues que Lua classique ne révèle que pendant l’exécution du programme.
Défi
FacileTransforme cette variable Lua en variable Luau typée.
- Sur la ligne
local message = "Hello World", ajoute: stringjuste aprèsmessage. - Garde la ligne
print(message)telle quelle.
Appuie sur Exécuter le code : la sortie affiche Hello World.
Essayez vous-même
-- Lua standard : message n’a pas encore de type
local message = "Hello World"
print(message)
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