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

جملة If-Else

جزء من قسم Fundamentals في رحلة Rust على Coddy — الدرس 25 من 75.

تسمح لنا if بتنفيذ كود معين إذا تحقق شرط ما، ولكن ماذا لو أردنا تنفيذ شيء آخر إذا لم يتحقق الشرط؟

لهذا الغرض لدينا جملة else:

let age: i32 = 15;
let status = if age >= 18 {
    "Adult"
} else {
    "Young"
};

في المثال أعلاه، age أصغر من 18 مما يعني أنه يدخل في كود else و status سيحتوي على "Young".

يمكننا حتى جعل الأمر أكثر عمقاً باستخدام جملة else if:

let age: i32 = 68;
let status = if age < 18 {
    "Young"
} else if age >= 18 && age <= 65 {
    "Adult"
} else {
    "Old"
};

هنا يتم التحقق مما إذا كان age أصغر من 18، وإذا لم يكن كذلك فسيستمر إلى الشرط التالي ويتحقق مما إذا كان age بين 18 و 65. وإذا لم يتم استيفاء هذا الشرط أيضاً، فسيقوم بتعيين status إلى "Old".

يمكننا إضافة أي عدد نريده من جمل else if:

if condition1 {
    code;
} else if condition2 {
    code;
} else if condition3 {
    code;
}
...
challenge icon

التحدي

مبتدئ

يتم تزويدك بكود يستقبل كمدخل رقماً يشير إلى سرعة الرياح ويخزنه في متغير يسمى wind.

ملاحظة: سنتعلم في الدروس القادمة كيفية الحصول على المدخلات من المستخدم، حالياً فقط لا تقم بتغيير الأسطر الأولى.

 

مهمتك هي تهيئة المتغير status بناءً على الشروط التالية:

  • "Calm" إذا كانت wind أصغر من 8،
  • "Breeze" إذا كانت wind بين 8 و 31 (بما في ذلك 8 و 31).
  • "Gale" إذا كانت wind بين 32 و 63 (بما في ذلك 32 و 63)
  • "Storm" خلاف ذلك

تحقق من حالات الاختبار لرؤية جميع المدخلات والمخرجات المتوقعة

ورقة مرجعية

استخدم else لتنفيذ التعليمات البرمجية عندما لا يتم استيفاء شرط if:

let age: i32 = 15;
let status = if age >= 18 {
    "Adult"
} else {
    "Young"
};

استخدم else if للتحقق من شروط متعددة:

let age: i32 = 68;
let status = if age < 18 {
    "Young"
} else if age >= 18 && age <= 65 {
    "Adult"
} else {
    "Old"
};

يمكنك ربط عدة عبارات else if معاً:

if condition1 {
    code;
} else if condition2 {
    code;
} else if condition3 {
    code;
}

جرّب بنفسك

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let wind: i32 = input.trim().parse().unwrap();
    // استبدل السطر أدناه بتعبير if-else الذي يعين الحالة (status) بناءً على الرياح (wind)
    let status = "unset";
    
    // لا تغير السطر أدناه
    println!("status = {}", status);
}
quiz iconاختبر نفسك

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

جميع دروس Fundamentals