Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

جملة 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 النهائية تلتقط أي شيء لا يتطابق مع الشروط السابقة.

challenge icon

التحدي

سهل

يتم تزويدك بالمتغير التالي:

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 لطباعة رسالة استشارية مناسبة عن الطقس
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات