Menu
CoddyTech

دليل النطاق (Range)

جزء من قسم الأساسيات في رحلة Rust على Coddy. الدرس 65 من 75.

في هذا الدرس، سنستكشف المزيد حول كيفية عمل النطاق.

نطاق الصياغة الأساسية:

  • start..end - ينشئ نطاقًا من البداية إلى النهاية (غير شامل)
  • start..=end - ينشئ نطاقًا من البداية إلى النهاية (شامل)
  • ..end - ينشئ نطاقًا من 0 إلى end (غير شامل)
  • ..=end - ينشئ نطاقًا من 0 إلى end (شامل)
  • start.. - ينشئ نطاقًا من start إلى ما لا نهاية
  • .. - ينشئ نطاقًا من سالب ما لا نهاية إلى موجب ما لا نهاية

اعكس النطاق باستخدام .rev():

  • (0..5).rev() - 4, 3, 2, 1, 0
  • (0..=5).rev() - 5, 4, 3, 2, 1, 0

القفز بخطوات باستخدام .step_by(n):

  • (0..10).step_by(2) - 0, 2, 4, 6, 8
  • (0..10).rev().step_by(2) - 9, 7, 5, 3, 1

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

// نطاق تصاعدي بسيط
for i in 0..5 { }
// القيم: 0, 1, 2, 3, 4
// نطاق شامل
for i in 0..=5 { }
// القيم: 0, 1, 2, 3, 4, 5
// النطاق العكسي
for i in (0..5).rev() { }
// القيم: 4, 3, 2, 1, 0
// تقدّم بخطوة مقدارها 2
for i in (0..10).step_by(2) { }
// القيم: 0, 2, 4, 6, 8
// اجمع بين reverse وstep
for i in (0..10).rev().step_by(3) { }
// القيم: 9, 6, 3, 0
challenge icon

التحدي

سهل

أُعطيتَ مصفوفتين، numbers1 وnumbers2. اطبع سطرًا واحدًا لكل منهما:

  • المصفوفة 1: ابدأ من الموضع الأخير في numbers1 وتحرك إلى الخلف بمقدار 3 مواضع في كل مرة (الفهارس 25 و22 و19 و...)، مع طباعة القيمة في كل موضع.
  • المصفوفة 2: مرّ على numbers2 من العنصر الأخير إلى الأول، واطبع القيم القابلة للقسمة على 4 فقط.

اطبع كل قيمة بين قوسين مربعين، وضع , بين القيم، ولا تضع شيئًا بعد القيمة الأخيرة:

Array 1: [26], [23], [20], ...
Array 2: [36], [36], ...

جرّب بنفسك

fn main() {
    let numbers1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26];
    let numbers2 = [17, 53, 24, 77, 84, 98, 24, 36, 89, 31, 36];
    print!("Array 1: ");
    // اكتب الكود الخاص بك هنا
    
    println!();
    print!("Array 2: ");
    // اكتب الكود الخاص بك هنا
}
quiz iconاختبر نفسك

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

جميع دروس الأساسيات

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