Menu
CoddyTech

مراجعة - القسمة الآمنة

جزء من قسم المنطق وتسلسل التنفيذ في رحلة Lua على Coddy. الدرس 34 من 54.

challenge icon

التحدي

سهل

اكتب دالة safeDivide تأخذ a وb وتُرجع نتيجة قسمة a على b، أو رسالة خطأ إذا فشلت عملية القسمة.

ينبغي أن تستخدم الدالة pcall() لتنفيذ عملية القسمة بأمان. أنشئ دالة داخلية تُجري عملية القسمة وتُطلق خطأً إذا كانت قيمة b تساوي صفرًا، ثم استخدم pcall() لاستدعائها والتقاط أي أخطاء.

المنطق:

  • أنشئ دالة داخلية تتحقق مما إذا كانت قيمة b تساوي 0
  • إذا كانت قيمة b تساوي 0، فاستدعِ error("Cannot divide by zero", 0) (تؤدي قيمة 0 إلى استبعاد اسم الملف ورقم السطر من الرسالة)
  • وإلا، فأعِد a / b
  • استخدم pcall() لتنفيذ الدالة الداخلية
  • إذا نجح التنفيذ، فأعِد "Result: " متبوعًا بنتيجة القسمة
  • إذا حدث خطأ، فأعِد "Error: " متبوعًا برسالة الخطأ

المعاملات:

  • a (number): المقسوم
  • b (number): المقسوم عليه

القيمة المُعادة: سلسلة نصية تحتوي إما على "Result: " متبوعة بنتيجة القسمة، أو على "Error: " متبوعة برسالة الخطأ (سلسلة نصية)

جرّب بنفسك

function safeDivide(a, b)
    -- اكتب الكود هنا
end

جميع دروس المنطق وتسلسل التنفيذ

تدرّب بنفسك: مترجم Lua عبر الإنترنت