جملة 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;
}
...التحدي
مبتدئيتم تزويدك بكود يستقبل كمدخل رقماً يشير إلى سرعة الرياح ويخزنه في متغير يسمى 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);
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
الطباعة على الكونسولقراءة مدخلات المستخدممراجعة - حتى 120مراجعة - True أو False2المتغيرات - الجزء الأول
الأرقامالمحارف (Char)النصوص (String)القيم المنطقية (Boolean)المتغيرات القابلة للتغيير5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث11الدوال
تعريف الدوالالمعاملات والوسائطقيم الإرجاعقيم إرجاع متعددةمراجعة - دالة Sigmaمراجعة - دالة التحقق14التكرار عبر المصفوفات
دليل النطاق (Range)حلقة For المحسنةالاستعارة في الحلقةعمليات المصفوفات الشائعة3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةاستنتاج النوعمراجعة - تهيئة المتغيراتتحويل الأنواع9الحلقات التكرارية
For عبر السلاسلحلقة Whileجملة Breakجملة Continueالحلقات المتداخلةتسميات الحلقاتالحلقة اللانهائيةمراجعة - الإدخال الديناميكي