جملة Unless
جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 25 من 88.
تقدم لغة روبي (Ruby) طريقة فريدة للتعبير عن الشروط عندما تريد تشغيل كود برمجياً فقط إذا كان هناك شيء ما ليس صحيحاً. تعتبر جملة unless في الأساس عكس جملة if.
مع if، يتم تشغيل الكود عندما يكون الشرط صحيحاً (true). ومع unless، يتم تشغيل الكود عندما يكون الشرط خاطئاً (false):
logged_in = false
unless logged_in
puts "Please log in to continue"
endهذا يعادل كتابة if !logged_in، ولكن unless غالباً ما يُقرأ بشكل طبيعي أكثر. فكر في الأمر على أنه "افعل هذا ما لم يكن هذا الشرط صحيحاً".
يمكنك أيضًا استخدام unless مع else:
age = 20
unless age < 18
puts "Access granted"
else
puts "Access denied"
endومع ذلك، عندما تحتاج إلى كتلة else، فإن استخدام if عادة ما يكون أكثر وضوحاً. تتألق جملة unless عندما يكون لديك شرط سلبي بسيط بدون مسار بديل. اختر أيهما يجعل كودك أسهل في القراءة من نظرة سريعة.
التحدي
سهللقد تم تزويدك بالمتغيرات التالية:
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = falseاستخدم عبارات unless لتقييم كل سيناريو أدناه. اطبع الرسالة المحددة فقط عندما يكون الشرط خاطئاً (وهو الوقت الذي تنفذ فيه unless كتلتها البرمجية).
- ما لم تكن
has_ticketهيtrue، اطبعPlease purchase a ticket - ما لم تكن
is_vipهيtrue، اطبعVIP access required - ما لم تكن
items_in_cartأكبر من0، اطبعYour cart is empty - ما لم تكن
battery_levelأكبر من20، اطبعLow battery warning - ما لم تكن
is_chargingهيtrueأوbattery_levelأكبر من50، اطبعPlease charge your device
يجب أن تظهر كل رسالة في سطر خاص بها. اطبع فقط الرسائل الخاصة بالشروط التي تُفعل كتلة unless.
ورقة مرجعية
تقوم جملة unless بتشغيل الكود عندما يكون الشرط false، مما يجعلها عكس جملة if:
logged_in = false
unless logged_in
puts "Please log in to continue"
endهذا يعادل if !logged_in، ولكنه غالباً ما يُقرأ بشكل طبيعي أكثر.
يمكنك استخدام unless مع else:
age = 20
unless age < 18
puts "Access granted"
else
puts "Access denied"
endومع ذلك، يُفضل استخدام unless للحالات الشرطية المنفية البسيطة بدون كتلة else. عندما تحتاج إلى مسار بديل، عادة ما تكون if أكثر وضوحاً.
جرّب بنفسك
# المتغيرات معرفة مسبقاً لك
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false
# المهام المطلوبة: اكتب الكود الخاص بك أدناه
# استخدم جمل unless للتحقق من كل شرط وطباعة الرسالة المناسبةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ