Pourquoi utiliser Luau ?
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 2 sur 80.
Le système de types de Luau offre trois avantages majeurs qui rendent le développement plus sûr et plus efficace.
Détecter les erreurs tôt : le vérificateur de types analyse votre code pendant que vous le modifiez, avant son exécution. Prenons un bogue classique de Lua : transmettre nil alors qu’un nombre est attendu :
-- Lua : rien ne vous avertit de ce problème
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(nil, 0.1))
-- ✗ erreur d'exécution : tentative d'effectuer une opération arithmétique sur nilEn Lua standard, ce plantage ne se produit que lorsque l’appel problématique est finalement exécuté : peut-être devant vos utilisateurs. Pire encore, Lua masque parfois complètement le bogue : "50" + 0.1 convertit silencieusement la chaîne et renvoie 50.1… jusqu’au jour où la chaîne ne représente pas un nombre. Avec les annotations de Luau, l’erreur est signalée immédiatement :
local function calculateTotal(price: number, tax: number)
return price + tax
end
calculateTotal(nil, 0.1) -- ✗ erreur de type lors de l'édition : nil n'est pas un nombreUn code plus lisible : les annotations servent de documentation. price: number vous indique, à vous et à vos coéquipiers, exactement ce qu’une fonction attend : pas besoin de deviner ni de fouiller dans son implémentation.
Des outils de développement plus performants : comme l’éditeur connaît le type de chaque variable, vous bénéficiez d’une autocomplétion précise, de refactorisations plus sûres et d’une navigation plus intelligente. Saisissez un point après une valeur typée et l’éditeur affiche exactement les options disponibles.
Défi
FacileDonne le type number aux deux paramètres de calculateTotal.
- À la première ligne, remplace
(price, tax)par(price: number, tax: number). - Garde l’appel
calculateTotal(80, 8)en bas.
Appuie sur Run Code : la sortie affiche 88.
Essayez vous-même
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(80, 8))
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