Menu
Coddy logo textTech

Enums de chaînes comme unions

Fait partie de la section Introduction à Luau du Journey Lua de Coddy — leçon 53 sur 73.

Les nombres créent des journaux cryptiques : voir 2 ne vous apprend pas grand-chose, voir "down" vous dit tout. Pour des enums lisibles, les types union de littéraux de Luau sont l'outil idéal — 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 lors de l'édition

Une variable typé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 instantanément — le bug n'atteint jamais le joueur.

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

print(facing)            -- haut
print(`facing {facing}`) -- face vers le haut

Comparez les deux modèles que vous avez maintenant : la table de constantes crée une valeur à l'exécution (UserRole) contenant des membres, tandis que l'union de littéraux ne crée aucune valeur — il n'y a pas de table Direction, seulement une règle que le vérificateur applique sur les chaînes autorisées. Des valeurs descriptives et auto-documentées sans aucun coût à l'exécution font des unions de littéraux le style d'enum privilégié dans le code Luau.

challenge icon

Défi

Facile

Créez un type union de littéraux nommé Direction avec les membres "up", "down", "left" et "right".

Créez quatre variables, chacune annotée avec Direction :

  • upDirection = "up"
  • downDirection = "down"
  • leftDirection = "left"
  • rightDirection = "right"

Affichez, chacun sur sa propre ligne :

  1. upDirection
  2. downDirection
  3. leftDirection
  4. rightDirection
  5. le message The player moves left, construit avec une interpolation de chaîne à partir de leftDirection

Essayez vous-même

-- Écrivez le code ici
-- 1) définir le type Direction comme une union des quatre littéraux de chaîne
-- 2) créer les quatre variables annotées
-- 3) afficher chacune, puis le message interpolé
quiz iconTestez-vous

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