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

التكرار عبر الـ Vector

جزء من قسم المنطق وتدفّق التنفيذ في رحلة Rust على Coddy. الدرس 11 من 66.

الآن بعد أن عرفت كيفية إنشاء المتجهات والوصول إلى العناصر الفردية، لنتعلّم كيفية معالجة كل عنصر في متجه بطريقة منهجية. تُعد حلقة for مثالية لهذه المهمة، إذ تتيح لك زيارة كل عنصر بالتسلسل.

إليك الصيغة الأساسية للتكرار عبر متجه:

let names = vec!["Alice", "Bob", "Charlie"];

for name in &names {
    println!("Hello, {}!", name);
}

لاحظ وجود & قبل names - فهذا ينشئ مرجعًا إلى المتجه، مما يتيح لك قراءة كل عنصر دون امتلاك المتجه نفسه. تمنحك كل تكرارة إمكانية الوصول إلى عنصر واحد في كل مرة من خلال متغير الحلقة name.

تتولى حلقة for تلقائيًا التحقق من الحدود نيابةً عنك. وبخلاف الفهرسة اليدوية، لن تحاول أبدًا عن طريق الخطأ الوصول إلى عنصر غير موجود. ستمر الحلقة بعدد من العناصر يساوي تمامًا عدد العناصر التي يحتوي عليها المتجه، مما يجعلها آمنة ومريحة في آنٍ واحد.

يمكنك استخدام هذا النمط مع أي نوع من المتجهات:

let scores = vec![85, 92, 78, 90];

for score in &scores {
    println!("Score: {}", score);
}

هذا الأسلوب هو الطريقة الأكثر شيوعًا واصطلاحية لمعالجة جميع العناصر في متجه عندما تحتاج إلى قراءة قيمها.

challenge icon

التحدي

سهل
اكتب دالة sum_all_elements تأخذ متجهًا numbers وتُرجع مجموع جميع عناصره.

استخدم حلقة for للتكرار عبر المتجه وتجميع مجموع جميع العناصر.

المعلمات:

  • numbers (Vec<i32>): متجه الأعداد الصحيحة المراد جمعها

القيمة المُرجعة: مجموع جميع العناصر في المتجه (i32)

جرّب بنفسك

fn sum_all_elements(numbers: Vec<i32>) -> i32 {
    // اكتب الكود هنا
}
quiz iconاختبر نفسك

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

جميع دروس المنطق وتدفّق التنفيذ

تدرّب بنفسك: مترجم Rust عبر الإنترنت