Récapitulatif - Division sécurisée
Fait partie de la section Logic & Flow du Journey Lua de Coddy — leçon 34 sur 54.
Défi
FacileÉcrivez une fonction safeDivide qui prend a et b et renvoie le résultat de la division de a par b, ou un message d'erreur si la division échoue.
La fonction doit utiliser pcall() pour effectuer l'opération de division en toute sécurité. Créez une fonction interne qui effectue la division et lève une erreur si b est égal à zéro, puis enveloppez-la avec pcall() pour intercepter toute erreur.
Logique :
- Créez une fonction interne qui vérifie si
best 0 - Si
best 0, appelezerror("Cannot divide by zero") - Sinon, renvoyez
a / b - Utilisez
pcall()pour exécuter la fonction interne - En cas de succès, renvoyez
"Result: "suivi du résultat de la division - Si une erreur survient, renvoyez
"Error: "suivi du message d'erreur
Paramètres :
a(nombre) : Le dividendeb(nombre) : Le diviseur
Retourne : Une chaîne de caractères contenant soit "Result: " suivi du résultat de la division, soit "Error: " suivi du message d'erreur (chaîne)
Essayez vous-même
function safeDivide(a, b)
-- Écrire le code ici
end
Toutes les leçons de Logic & Flow
1Itération avancée des tables
Itérer avec pairs()Itérer avec ipairs()pairs() vs. ipairs()Récapitulatif - Fiche de personnage2Plus de fonctions de la bibliothèque table
table.concat()Construction de table & unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des scores3Concepts avancés sur les fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu'est-ce qu'une closure ?Récapitulatif - Gestionnaire d'événements simple6Gestion des erreurs
La fonction error()Appels protégés avec pcall()Récapitulatif - Division sécurisée