جملة If - Else المتداخلة
جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 24 من 88.
ماذا لو كنت بحاجة إلى التحقق من أكثر من شرطين؟ يمكنك وضع جملة if-else داخل جملة if-else أخرى. يُسمى هذا بالتداخل (nesting)، وهو يتيح لك التعامل مع نقاط قرار متعددة.
score = 85
if score >= 90
puts "Grade: A"
else
if score >= 80
puts "Grade: B"
else
puts "Grade: C"
end
endيتحقق Ruby من الشرط الأول. إذا كان خاطئاً، فإنه ينتقل إلى كتلة else حيث ينتظر if-else آخر. يؤدي هذا إلى إنشاء سلسلة من القرارات، كل منها يضيق الاحتمالات.
توفر لغة Ruby طريقة أكثر وضوحاً لكتابة هذا باستخدام elsif، والتي تجمع بين else و if في كلمة مفتاحية واحدة:
score = 85
if score >= 90
puts "Grade: A"
elsif score >= 80
puts "Grade: B"
else
puts "Grade: C"
endينتج كلا المثالين نفس النتيجة، لكن elsif تجعل الكود الخاص بك أكثر بساطة وأسهل في القراءة. يمكنك ربط أي عدد تريده من شروط elsif، و else النهائية تلتقط أي شيء لا يتطابق مع الشروط السابقة.
التحدي
سهليتم تزويدك بالمتغير التالي:
temperature = 15قم بإنشاء نظام استشاري للطقس باستخدام if و elsif و else لتصنيف درجة الحرارة وطباعة الرسالة المناسبة:
- إذا كانت
temperatureأكبر من أو تساوي30، فاطبعHot - Stay hydrated - إذا كانت
temperatureأكبر من أو تساوي20، فاطبعWarm - Enjoy the day - إذا كانت
temperatureأكبر من أو تساوي10، فاطبعCool - Bring a jacket - إذا كانت
temperatureأكبر من أو تساوي0، فاطبعCold - Bundle up - خلاف ذلك، اطبع
Freezing - Stay indoors
اطبع فقط الرسالة الوحيدة التي تطابق درجة الحرارة.
ورقة مرجعية
يمكنك تداخل جمل if-else داخل بعضها البعض للتحقق من شروط متعددة:
score = 85
if score >= 90
puts "Grade: A"
else
if score >= 80
puts "Grade: B"
else
puts "Grade: C"
end
endتوفر Ruby كلمة elsif كطريقة أكثر ترتيباً لربط شروط متعددة:
score = 85
if score >= 90
puts "Grade: A"
elsif score >= 80
puts "Grade: B"
else
puts "Grade: C"
endيمكنك ربط أي عدد تريده من شروط elsif. أما else الأخيرة فتلتقط أي شيء لا يطابق الشروط السابقة.
جرّب بنفسك
temperature = 15
# TODO: اكتب كودك أدناه لتصنيف درجة الحرارة
# استخدم if و elsif و else لطباعة رسالة استشارية مناسبة عن الطقسيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ