MaxReve نشر 22 نوفمبر 2015 أرسل تقرير نشر 22 نوفمبر 2015 أتعلم حاليا لغة روبي وكل يوم أكتشف طريقة جديدة في البرمجة باستخدامها، حيث وجدت اليوم كلمة برمجية جديدة fail كما تظهر في المثال التالي:if password.length < 8 fail "Password too short" end unless username fail "No user name set" end فما وظيفتها؟ اقتباس
0 هشام رزق الله نشر 22 نوفمبر 2015 أرسل تقرير نشر 22 نوفمبر 2015 في لغة روبي، إن كلمة fail مرادفة لكلمة raise، فهي تابع لوحدة Kernel والتي يتم تضمينها من قبل الصنف.تابع fail يُصدر خطأ من نوع "خطأ عند وقت التشغيل" (RuntimeError) كما تقوم كلمة raise، ويملك بعض الخصائص التي تميزه عن raise مثل التالية:إن تابع fail يُصدر خطأ من نوع "خطأ عند وقت التشغيل" بدون رسالة خطأ.أما fail(string) فتصدر خطأ من نوع "خطأ عند وقت التشغيل" مع رسالة الخطأ التي تم تمريرها كمعامل إلى fail.المصدر اقتباس
0 Ali Haidar Ahmad نشر 1 أبريل 2022 أرسل تقرير نشر 1 أبريل 2022 في حال استدعاء التابع fail بدون تمرير أي معامل، فسيُطلق الاستثناء في $! أو يطلق الخطأ RuntimeError إذا كان $! يساوي nil. في حال تمرير سلسلة نصية فقط، فسيُطلَق الخطأ RuntimeError مع إظهار هذه السلسلة النصية كرسالة. خلا ذلك، يجب أن يكون الوسيط الأول اسم الصنف Exception (أو كائنًا يعيد كائنًا من النوع Exception عند إرسال رسالة استثناء). يحدِّد الوسيط الاختياري الثاني الرسالة المرتبطة بالاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء. تُلتقَط الاستثناءات بواسطة الجملة rescue من الكتل begin...end. البنية العامة له: fail fail(string) fail(exception [, string [, array]]) string: سلسلة نصية تمثل الرسالة المراد إظهارها عند الفشل. exception: اسم الصنف Exception أو كائن يعيد كائنًا من الصنف Exception. array: مصفوفة تضم معلومات الاستدعاء. مثال على استخدام التابع fail: raise "Failed to create socket" raise ArgumentError, "No parameters", caller يمكنك القول أن fail == raise. بمعنى آخر، fail هو مجرد اسم آخر (alias) شائع للدالة raise. اقتباس
السؤال
MaxReve
أتعلم حاليا لغة روبي وكل يوم أكتشف طريقة جديدة في البرمجة باستخدامها، حيث وجدت اليوم كلمة برمجية جديدة fail كما تظهر في المثال التالي:
فما وظيفتها؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.