Zusammenfassung – Sichere Division
Teil des Abschnitts Logik und Programmablauf der Lua-Journey von Coddy. Lektion 34 von 54.
Aufgabe
EinfachSchreibe eine Funktion safeDivide, die a und b entgegennimmt und das Ergebnis der Division von a durch b zurückgibt oder eine Fehlermeldung, falls die Division fehlschlägt.
Die Funktion sollte pcall() verwenden, um die Division sicher durchzuführen. Erstelle eine innere Funktion, die die Division ausführt und einen Fehler auslöst, wenn b null ist, und umschließe sie anschließend mit pcall(), um etwaige Fehler abzufangen.
Logik:
- Erstelle eine innere Funktion, die prüft, ob
b0 ist - Wenn
b0 ist, rufeerror("Cannot divide by zero", 0)auf (die0lässt den Dateinamen und die Zeilennummer in der Meldung weg) - Andernfalls gib
a / bzurück - Verwende
pcall(), um die innere Funktion auszuführen - Wenn die Ausführung erfolgreich ist, gib
"Result: "gefolgt vom Divisionsergebnis zurück - Wenn ein Fehler auftritt, gib
"Error: "gefolgt von der Fehlermeldung zurück
Parameter:
a(Zahl): Der Dividendb(Zahl): Der Divisor
Rückgabewert: Ein String, der entweder "Result: " gefolgt vom Divisionsergebnis oder "Error: " gefolgt von der Fehlermeldung enthält (String)
Probier es selbst
function safeDivide(a, b)
-- Schreibe hier den Code
end
Alle Lektionen in Logik und Programmablauf
1Fortgeschrittene Tabelleniteration
Iterieren mit pairs()Iterieren mit ipairs()pairs() vs. ipairs()Zusammenfassung – Charakterbogen2Weitere Funktionen der Tabellenbibliothek
table.concat()Tabellenkonstruktion & unpack()table.sort()Eigene Sortierung mit FunktionenRückblick – Highscore-Tabelle3Fortgeschrittene Funktionskonzepte
Mehrere Werte zurückgebenVariadische Funktionen (...)Funktionen als Werte erster KlasseAnonyme FunktionenWas ist eine Closure?Rückblick – Einfacher Event-Handler6Fehlerbehandlung
Die error()-FunktionGeschützte Aufrufe mit pcall()Zusammenfassung – Sichere DivisionÜbe selbstständig: Online-Lua-Compiler