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

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

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

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

بنية Basic Range الأساسية:

  • start..end - ينشئ Range من start إلى end (باستثناء النهاية)
  • start..=end - ينشئ Range من 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 باستخدام .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

التحدي

سهل

أنشئ برنامجًا يبدأ بمصفوفتين من الأعداد ويطبع للمصفوفة الأولى جميع الأعداد بترتيب عكسي، مع القفز بمقدار 3 عبر مواضع المصفوفة، وللمصفوفة الثانية يطبع جميع الأعداد القابلة للقسمة على 4 بترتيب عكسي.  اطبع بالتنسيق التالي:

Array 1: [1], [2], [3], ...
Array 2: [1], [2], [3], ...

جرّب بنفسك

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 عبر الإنترنت