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

النطاق

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

النطاق (scope) هو مساحة تقع بين الأقواس المتعرجة {} حيث تعيش المتغيرات أو أشكال التصريح الأخرى.

على سبيل المثال:

fn main() {
    let x = 5;
    // يدخل x في النطاق
    println!("x is {}", x);
} // يخرج x من النطاق هنا

يمكن أن تكون النطاقات (Scopes) متداخلة داخل نطاقات أخرى. يمكن للنطاقات الداخلية الوصول إلى المتغيرات من النطاقات الخارجية، ولكن ليس العكس:

fn main() {
    let outer = 42;
    
    {  // نطاق داخلي جديد
        let inner = 99;
        println!("{}, {}", outer, inner);
    }  // ينتهي نطاق inner هنا
    
    // سيؤدي هذا إلى حدوث خطأ
    // لا يمكن الوصول إلى inner هنا
    // println!("{}", inner);
}

ورقة مرجعية

النطاق (scope) هو مكان بين الأقواس المتعرجة {} حيث تعيش المتغيرات:

fn main() {
    let x = 5;
    // يدخل x في النطاق
    println!("x is {}", x);
} // يخرج x من النطاق هنا

يمكن أن تكون النطاقات متداخلة. يمكن للنطاقات الداخلية الوصول إلى متغيرات النطاق الخارجي، ولكن ليس العكس:

fn main() {
    let outer = 42;
    
    {  // نطاق داخلي جديد
        let inner = 99;
        println!("{}, {}", outer, inner);
    }  // يخرج inner من النطاق هنا
    
    // لا يمكن الوصول إلى inner هنا
}

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

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

جميع دروس Fundamentals