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

التظليل - الجزء الأول

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

يمكنك التصريح عن متغير جديد بنفس اسم متغير سابق في نطاق (scope) مختلف. المتغير الجديد يحجب (shadows) المتغير السابق حتى نهاية نطاقه:

fn main() {
    let x = 5;
    {
        let x = 12;
        // يحجب x الخارجي
        println!("{}", x);
        // يطبع "12"
    }
    
    println!("{}", x);
    // يطبع "5"
}
challenge icon

التحدي

مبتدئ

اكتب برنامج بلغة Rust يوضح مفهوم التظليل (shadowing). اتبع الخطوات التالية:

  1. قم بالتصريح عن متغير باسم x وقم بتهيئته بالقيمة 5.
  2. اطبع قيمة x على وحدة التحكم بالتنسيق التالي: x is: …
  3. قم بتظليل x بقيمة جديدة هي قيمة x الأصلية زائد 3 داخل نطاق (scope) جديد.
  4. اطبع قيمة x المظللة بالتنسيق التالي: x is: …
  5. أخيرًا، اطبع x خارج النطاق بالتنسيق التالي: x is: …

ورقة مرجعية

يمكنك التصريح عن متغير جديد بنفس اسم متغير سابق في نطاق مختلف. المتغير الجديد يحجب (shadows) المتغير السابق حتى نهاية نطاقه:

fn main() {
    let x = 5;
    {
        let x = 12;
        // يحجب المتغير x الخارجي
        println!("{}", x);
        // يطبع "12"
    }
    
    println!("{}", x);
    // يطبع "5"
}

جرّب بنفسك

fn main() {
    // قم بالتصريح عن x وتهيئته بالقيمة 5
    
    // اطبع قيمة x
    
    {
        // قم بحجب x باستخدام x الأصلية زائد 3
        
        // اطبع قيمة x المحجوبة
        
    }
    // اطبع قيمة x الخارجية
    
}
quiz iconاختبر نفسك

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

جميع دروس Fundamentals