Perché usare Luau?
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 2 di 80.
Il sistema di tipi di Luau offre tre vantaggi principali che rendono lo sviluppo più sicuro ed efficiente.
Individuare gli errori in anticipo: il controllo dei tipi analizza il codice mentre lo modifichi, prima che venga eseguito. Considera un classico bug di Lua: passare nil dove è previsto un numero:
-- Lua: nulla ti avverte di questo
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(nil, 0.1))
-- ✗ errore a runtime: tentativo di eseguire un'operazione aritmetica su nilIn Lua puro, l'arresto anomalo si verifica solo quando viene finalmente eseguita la chiamata errata: magari davanti ai tuoi utenti. Peggio ancora, Lua a volte nasconde del tutto il bug: "50" + 0.1 converte silenziosamente la stringa e restituisce 50.1… fino al giorno in cui la stringa non è numerica. Con le annotazioni di Luau, l'errore viene segnalato immediatamente:
local function calculateTotal(price: number, tax: number)
return price + tax
end
calculateTotal(nil, 0.1) -- ✗ errore di tipo durante la modifica: nil non è un numeroCodice più leggibile: le annotazioni fungono da documentazione. price: number indica a te e ai tuoi compagni di squadra esattamente cosa si aspetta una funzione: niente congetture e nessuna necessità di esaminare l'implementazione.
Strumenti di sviluppo migliori: poiché l'editor conosce il tipo di ogni variabile, ottieni il completamento automatico preciso, refactoring più sicuri e una navigazione più intelligente. Digita un punto dopo un valore tipizzato e l'editor elenca esattamente ciò che è disponibile.
Sfida
FacileAssegna il tipo number a entrambi i parametri di calculateTotal.
- Nella prima riga, modifica
(price, tax)in(price: number, tax: number). - Mantieni la chiamata
calculateTotal(80, 8)in fondo.
Premi Esegui il codice: l'output mostra 88.
Provalo tu
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(80, 8))
Tutte le lezioni di Introduzione a Luau
1Per iniziare con Luau
Che cos'è Luau?Perché usare Luau?Il tuo primo codice LuauVerifica dei tipi e modalità di erroreRiepilogo: introduzione a Luau4Lavorare con le funzioni
Tipizzare parametri e valori restituitiTipizzare le funzioni anonimeFunzioni che non restituiscono nullaParametri opzionaliValori predefiniti dei parametriValori predefiniti per i booleaniFunzioni variadicheDefinire i tipi di funzioneRiepilogo: funzioni tipizzate7Progetto: Gestore di attività tipizzato
Progetto: La struttura di un'attivitàFunzione per aggiungere un'attività2Tipi fondamentali
Numero, stringa e booleanoIl tipo 'any': una via di fugaIl tipo 'unknown'Tipi nil e opzionaliL’inferenza dei tipi in praticaAnnotazioni esplicite dei tipiRipasso: esercizi sui tipi fondamentali5Alias, unioni e intersezioni
Alias di tipo per i primitiviTipi unioneLavorare con i tipi unioneTipi letteraliTipi intersezioneCombinare gli alias di tipoRiepilogo: combinazioni avanzate di tipi3Tabelle tipizzate: array e mappe
Array tipizzatiAggiungere e leggere elementiChe cos'è un tipo map?Dichiarare e accedere alle mappeIterare sulle tabelleTabelle con forme misteLeggere una grigliaCreare una grigliatable.unpackRiepilogo: array e mappeEsercitati da solo: Compilatore Luau online