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

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

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

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

نطاق بناء الجملة الأساسي:

  • start..end - ينشئ نطاقاً من start إلى end (غير شامل)
  • start..=end - ينشئ نطاقاً من start إلى end (شامل)
  • ..end - ينشئ نطاقاً من 0 إلى end (غير شامل)
  • ..=end - ينشئ نطاقاً من 0 إلى end (شامل)
  • 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
// الجمع بين العكس والخطوة
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اختبر نفسك

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

جميع دروس Fundamentals

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