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

ما هو النطاق؟

جزء من قسم المنطق وتدفق العمليات في رحلة Ruby على Coddy — الدرس 6 من 56.

لقد استخدمت بالفعل النطاقات (ranges) مع حلقات for وتقطيع المصفوفات. لكن النطاق هو كائن Ruby حقيقي، وليس مجرد بناء جملة، فله أساليبه (methods) الخاصة.

أنشئ واحداً باستخدام .. (نقطتان، شاملة) أو ... (ثلاث نقاط، تستثني القيمة النهائية):

inclusive = 1..5    # 1, 2, 3, 4, 5
exclusive = 1...5   # 1, 2, 3, 4

قم بتحويل نطاق إلى مصفوفة باستخدام to_a لترى بالضبط ما يغطيه:

puts (1..5).to_a.inspect    # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect   # [1, 2, 3, 4]

النطاقات ليست للأرقام فقط. إنها تعمل مع أي شيء له ترتيب، بما في ذلك الحروف:

puts ("a".."e").to_a.inspect  # ["a", "b", "c", "d", "e"]
challenge icon

التحدي

مبتدئ

اقرأ عددين صحيحين (سطران من المدخلات): start و end_value. اطبع ثلاثة أسطر:

  1. النطاق الشامل start..end_value كمصفوفة (استخدم inspect)
  2. النطاق الحصري start...end_value كمصفوفة
  3. حجم النطاق الشامل

للمدخلات 1 ثم 5، يكون المخرج:

[1, 2, 3, 4, 5]
[1, 2, 3, 4]
5

ورقة مرجعية

تستخدم النطاقات (Ranges) في Ruby الرمز .. (شامل) أو ... (باستثناء النهاية):

inclusive = 1..5    # 1, 2, 3, 4, 5
exclusive = 1...5   # 1, 2, 3, 4

قم بتحويل النطاق إلى مصفوفة باستخدام to_a:

puts (1..5).to_a.inspect    # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect   # [1, 2, 3, 4]

تعمل النطاقات أيضاً مع الحروف:

puts ("a".."e").to_a.inspect  # ["a", "b", "c", "d", "e"]

جرّب بنفسك

start     = gets.to_i
end_value = gets.to_i

# TODO: طباعة النطاق الشامل، والنطاق الحصري، والحجم الشامل
quiz iconاختبر نفسك

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

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