Funzioni che non restituiscono nulla
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 24 di 73.
Molte funzioni non calcolano un valore. Fanno qualcosa: stampano un messaggio, aggiornano una tabella, salvano lo stato. In Luau puoi annotare che una funzione non restituisce nulla con il tipo di ritorno vuoto ():
function logMessage(message: string): ()
print(message)
end
local counter = 0
function incrementCounter(): ()
counter += 1
endSe conosci TypeScript, () svolge il ruolo di void, ma in Luau si scrive con una coppia di parentesi vuote, letteralmente «zero valori restituiti».
L'annotazione è facoltativa: omettila e Luau deduce che la funzione non restituisce nulla. Scrivere esplicitamente : () documenta la tua intenzione: chiunque legga la firma sa che questa funzione viene chiamata per i suoi effetti collaterali, non per il suo risultato.
In fase di esecuzione non cambia nulla (come al solito): una funzione senza un valore return produce semplicemente nil se provi a catturarne il risultato: proprio come in Lua normale.
Sfida
FacileCrea una funzione denominata displayWelcome che accetta userName: string e ha un tipo di ritorno esplicito (). Dovrebbe stampare: "Welcome to our application, [userName]!"
Crea una funzione denominata logError che accetta errorMessage: string con tipo di ritorno (). Dovrebbe stampare: "ERROR: [errorMessage]"
Crea una funzione denominata processData che non accetta parametri e ha tipo di ritorno (). Dovrebbe stampare "Processing data..." e poi "Data processing complete." sulla riga successiva.
Chiamale in questo ordine:
displayWelcome("Alice")processData()logError("Invalid input detected")displayWelcome("Bob")
Provalo tu
-- Scrivi il codice qui
-- displayWelcome(userName: string): ()
-- logError(errorMessage: string): ()
-- processData(): ()
-- poi chiama: displayWelcome("Alice"), processData(),
-- logError("Invalid input detected"), displayWelcome("Bob")
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
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 i parametri e i valori restituitiTipizzare le funzioni anonimeFunzioni che non restituiscono nullaParametri opzionaliValori predefiniti dei parametriFunzioni variadicheDefinire i tipi di funzioneRiepilogo: funzioni tipizzate2Tipi fondamentali
Tipi di base: num, str, boolIl tipo 'any': una via di fugaIl tipo 'unknown'Nil e tipi opzionaliL'inferenza dei tipi in azioneAnnotazioni 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 strutture misteArray tipizzati multidimensionalitable.unpack e argomenti variabiliRiepilogo: array e mappeEsercitati da solo: Compilatore Luau online