Menu
CoddyTech

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 nil

In 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 numero

Codice 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.

challenge icon

Sfida

Facile

Assegna il tipo number a entrambi i parametri di calculateTotal.

  1. Nella prima riga, modifica (price, tax) in (price: number, tax: number).
  2. 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

Esercitati da solo: Compilatore Luau online