جمل If-Else المتداخلة
جزء من قسم الأساسيات في رحلة Rust على Coddy. الدرس 28 من 75.
يمكننا تضمين عبارات if / else if / else بعضها داخل بعض. وهذا يتيح لنا إنشاء بُنى هرمية لاتخاذ القرارات.
على سبيل المثال:
if age > 18 {
if hasLicense {
println!("You can drive");
} else {
println!("Get a license first");
}
} else {
println!("Too young to drive");
}يمكن أن يكون متداخلًا بلا حدود:
if condition1 {
if condition2 {
if condition3 {
// إذا كانت condition1 وcondition2 وcondition3 صحيحة
...
}
}
}التحدي
مبتدئأنشئ برنامجًا يتحقق مما إذا كان بإمكان شخص ما ركوب الأفعوانية. المتطلبات هي:
- يجب أن يكون عمره 12 سنة على الأقل
- يجب أن يزيد طوله عن 150cm
- إذا استوفى كلا المتطلبين وكان عمره أقل من 15 سنة، فيحتاج إلى إشراف شخص بالغ
اطبع هذه الرسائل بالضبط لكل حالة:
- إذا كان صغيرًا جدًا:
Sorry, you're too young - إذا لم يكن طويلًا بما يكفي:
Sorry, you're not tall enough - إذا كان عمره أقل من 15 سنة ولا يرافقه شخص بالغ:
Sorry, you need an adult with you - إذا كان عمره أقل من 15 سنة ويرافقه شخص بالغ:
You can ride with adult supervision! - إذا كان عمره 15 سنة أو أكثر وكان طويلًا بما يكفي:
You can ride by yourself!
جرّب بنفسك
use std::io;
fn main() {
let mut age_input = String::new();
let mut height_input = String::new();
let mut adult_input = String::new();
io::stdin().read_line(&mut age_input).unwrap();
io::stdin().read_line(&mut height_input).unwrap();
io::stdin().read_line(&mut adult_input).unwrap();
let age: i32 = age_input.trim().parse().unwrap();
let height: i32 = height_input.trim().parse().unwrap();
let has_adult: bool = adult_input.trim().parse().unwrap();
// اكتب شيفرتك أدناه
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
الطباعة على الكونسولقراءة مدخلات المستخدممراجعة - حتى 120مراجعة - True أو False2المتغيرات - الجزء الأول
الأرقامالمحارف (Char)النصوص (String)القيم المنطقية (Boolean)المتغيرات القابلة للتغيير5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث11الدوال
تعريف الدوالالمعاملات والوسائطقيم الإرجاعقيم إرجاع متعددةمراجعة - دالة Sigmaمراجعة - دالة التحقق14التكرار عبر المصفوفات
دليل النطاق (Range)حلقة For المحسنةالاستعارة في الحلقةعمليات المصفوفات الشائعة3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةاستنتاج النوعمراجعة - تهيئة المتغيراتتحويل الأنواع9الحلقات التكرارية
For عبر السلاسلحلقة Whileجملة Breakجملة Continueالحلقات المتداخلةتسميات الحلقاتالحلقة اللانهائيةمراجعة - الإدخال الديناميكيتدرّب بنفسك: مترجم Rust عبر الإنترنت