جملة 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.
جرّب بنفسك
# المتغيرات معرّفة مسبقًا من أجلك
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false
# TODO: اكتب شيفرتك أدناه
# استخدم عبارات unless للتحقق من كل شرط وطباعة الرسالة المناسبةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأتدرّب بنفسك: مترجم Ruby عبر الإنترنت