Menu
CoddyTech

Enums de chaînes comme unions

Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 57 sur 80.

Les nombres produisent des journaux cryptiques : voir 2 ne vous apprend pas grand-chose, voir "down" vous dit tout. Pour créer des énumérations lisibles, les types union littéraux de Luau sont l’outil adapté : un type dont les membres sont des chaînes exactes :

type Direction = "up" | "down" | "left" | "right"

local facing: Direction = "up"    -- ✓
local typo: Direction = "upp"     -- ✗ erreur de type pendant la modification

Une variable annotée avec Direction peut contenir ces quatre chaînes et rien d’autre. Faites une faute de frappe et le vérificateur la détecte immédiatement : le bogue n’atteint jamais un joueur.

À l’exécution, les valeurs sont de simples chaînes. Affichez-les, concaténez-les, comparez-les avec ==. Tout ce que vous savez sur les chaînes s’applique :

print(facing)            -- haut
print(`facing {facing}`) -- facing haut

Comparez les deux modèles dont vous disposez maintenant : la table de constantes crée une valeur à l’exécution (UserRole) qui contient des membres, tandis que l’union littérale ne crée aucune valeur. Il n’existe pas de table Direction, seulement une règle que le vérificateur applique pour déterminer quelles chaînes conviennent. Des valeurs descriptives et explicites, sans coût à l’exécution : les unions littérales sont le style d’énumération de prédilection dans le code Luau.

challenge icon

Défi

Facile

Enregistre une direction qui ne peut être qu’un de quatre noms.

  1. Écris type Direction = "up" | "down" | "left" | "right".
  2. Déclare local facing: Direction = "left".
  3. Affiche facing, puis `The player moves {facing}`.

Appuie sur Run Code : la sortie affiche left et The player moves left.

Essayez vous-même

-- 1) définis le type Direction comme une union de quatre chaînes de caractères
-- 2) local facing: Direction = "left"
-- 3) affiche facing, puis la phrase

Toutes les leçons de Introduction à Luau

Entraînez-vous par vous-même : Compilateur Luau en ligne