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

حلقة For المحسنة

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

هناك طرق مختلفة للتكرار عبر مصفوفة، إليك بعضاً منها:

تأمل المصفوفة التالية:

let numbers = [1, 2, 3, 4, 5];
  • مكرر مباشر:

    for num in numbers.iter() {}
    // القيم: 1, 2, 3, 4, 5
  • الفهرس والقيمة:

    for (index, value) in numbers.iter().enumerate() { }
    // القيم: (0,1), (1,2), (2,3), (3,4), (4,5)
  • شرائح بحجم محدد:

    for chunk in numbers.chunks(2) { }
    // القيم: [1,2], [3,4], [5]
  • التكرار مع التعديل (mutation):

    for num in numbers.iter_mut() { 
    	*num *= 2;
    }
    // تصبح المصفوفة: [2, 4, 6, 8, 10]
challenge icon

التحدي

سهل

أنشئ برنامجًا يعالج قائمة تسوق تحتوي على عناصر وأسعارها، ويوفر طرق عرض مختلفة للبيانات.

يجب أن يقوم البرنامج بما يلي:

  1. طباعة رقم كل عنصر وسعره (باستخدام enumerate)
  2. طباعة الأسعار في أزواج (باستخدام chunks) كـ "bundle deals"
  3. تطبيق خصم بنسبة 10% على جميع الأسعار (باستخدام iter_mut)
  4. طباعة الأسعار النهائية المخفضة

ورقة مرجعية

طرق مختلفة للتكرار عبر المصفوفات في Rust:

المكرر المباشر:

for num in numbers.iter() {}
// القيم: 1, 2, 3, 4, 5

الفهرس والقيمة باستخدام enumerate:

for (index, value) in numbers.iter().enumerate() { }
// القيم: (0,1), (1,2), (2,3), (3,4), (4,5)

شرائح بحجم محدد باستخدام chunks:

for chunk in numbers.chunks(2) { }
// القيم: [1,2], [3,4], [5]

التكرار مع التعديل باستخدام iter_mut:

for num in numbers.iter_mut() { 
    *num *= 2;
}
// تصبح المصفوفة: [2, 4, 6, 8, 10]

جرّب بنفسك

fn main() {
    let mut prices = [2.75, 1.50, 5.00, 3.5, 4.1, 2.25, 7.9];

    println!("Original Prices:");
    // TODO: استخدم enumerate لطباعة رقم كل عنصر وسعره
    // المتوقع: "Item 1: $2.99" إلخ.


    println!("\nBundle Deals:");
    // TODO: استخدم chunks لطباعة أزواج من الأسعار ومجموعها
    // المتوقع: "Bundle 1: $2.99 + $1.50 = $4.49" إلخ.


    // TODO: استخدم iter_mut لتطبيق خصم 10% على جميع الأسعار


    println!("\nPrices after 10% discount:");
    // TODO: اطبع الأسعار النهائية بعد الخصم
    // المتوقع: "$2.69" إلخ.

}
quiz iconاختبر نفسك

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

جميع دروس Fundamentals