Menu
Coddy logo textTech

Enum di stringhe come unioni

Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 53 di 73.

I numeri rendono i log criptici: vedere 2 ti dice poco, vedere "down" ti dice tutto. Per enum leggibili, i tipi unione di valori letterali di Luau sono lo strumento giusto: un tipo i cui membri sono stringhe esatte:

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

local facing: Direction = "up"    -- ✓
local typo: Direction = "upp"     -- ✗ errore di tipo durante la modifica

Una variabile annotata con Direction può contenere quelle quattro stringhe e nient'altro. Se ne scrivi una in modo errato, il controllo la rileva immediatamente: il bug non raggiunge mai un giocatore.

In fase di esecuzione, i valori sono semplici stringhe. Stampale, concatenale, confrontale con ==. Tutto ciò che sai sulle stringhe vale anche qui:

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

Confronta i due schemi che hai ora: la tabella di costanti crea un unico valore in fase di esecuzione (UserRole) che contiene i membri, mentre l'unione di valori letterali non crea alcun valore. Non esiste una tabella Direction, ma solo una regola applicata dal controllo per stabilire quali stringhe sono valide. Valori descrittivi e autoesplicativi, senza alcun costo in fase di esecuzione, fanno delle unioni di valori letterali lo stile di enum preferito nel codice Luau.

challenge icon

Sfida

Facile

Crea un tipo di unione letterale denominato Direction con i membri "up", "down", "left" e "right".

Crea quattro variabili, ognuna annotata con Direction:

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

Stampa, ciascuno su una riga:

  1. upDirection
  2. downDirection
  3. leftDirection
  4. rightDirection
  5. il messaggio The player moves left, costruito con l'interpolazione di stringhe a partire da leftDirection

Provalo tu

-- Scrivi il codice qui
-- 1) definisci il tipo Direction come un'unione dei quattro letterali stringa
-- 2) crea le quattro variabili annotate
-- 3) stampa ciascuna di esse, poi il messaggio interpolato
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Introduzione a Luau

Esercitati da solo: Compilatore Luau online