Riepilogo - Divisione sicura
Fa parte della sezione Logica e flusso del percorso Lua di Coddy. Lezione 34 di 54.
Sfida
FacileScrivi una funzione safeDivide che accetta a e b e restituisce il risultato della divisione di a per b, oppure un messaggio di errore se la divisione non riesce.
La funzione dovrebbe usare pcall() per eseguire l’operazione di divisione in modo sicuro. Crea una funzione interna che esegue la divisione e genera un errore se b è zero, quindi avvolgila con pcall() per intercettare eventuali errori.
Logica:
- Crea una funzione interna che controlla se
bè 0 - Se
bè 0, chiamaerror("Cannot divide by zero", 0)(lo0esclude il nome del file e il numero di riga dal messaggio) - Altrimenti, restituisci
a / b - Usa
pcall()per eseguire la funzione interna - Se l’esecuzione riesce, restituisci
"Result: "seguito dal risultato della divisione - Se si verifica un errore, restituisci
"Error: "seguito dal messaggio di errore
Parametri:
a(numero): Il dividendob(numero): Il divisore
Restituisce: Una stringa contenente "Result: " seguito dal risultato della divisione, oppure "Error: " seguito dal messaggio di errore (stringa)
Provalo tu
function safeDivide(a, b)
-- Scrivi il codice qui
end
Tutte le lezioni di Logica e flusso
1Iterazione avanzata delle tabelle
Iterare con pairs()Iterare con ipairs()pairs() vs. ipairs()Riepilogo - Scheda del personaggio2Altre funzioni della libreria table
table.concat()Costruzione di tabelle e unpack()table.sort()Ordinamento personalizzato con funzioniRiepilogo - Tabellone dei punteggi più altiEsercitati da solo: Compilatore Lua online