Menu
CoddyTech

تقطيع المصفوفات باستخدام الفهارس

جزء من قسم الأساسيات في رحلة Ruby على Coddy. الدرس 70 من 88.

توفّر Ruby طريقة أخرى لتقطيع المصفوفات باستخدام فهرس بداية وطول. بدلًا من تحديد نطاق، تُقدّم رقمين: موضع البداية وعدد العناصر المراد استخراجها.

تستخدم الصياغة فاصلةً للفصل بين مؤشر البداية والعدد:

numbers = [10, 20, 30, 40, 50]
slice = numbers[1, 3]

puts slice  # المخرجات: 20, 30, 40

يستخرج هذا 3 عناصر بدءًا من الفهرس 1. الرقم الأول هو موضع البداية، والرقم الثاني هو عدد العناصر التي تريدها.

يكون هذا الأسلوب مفيدًا بشكل خاص عندما تعرف بالضبط عدد العناصر التي تحتاج إليها:

letters = ["a", "b", "c", "d", "e"]
first_two = letters[0, 2]

puts first_two  # المخرجات: a, b

تعمل الفهارس السالبة هنا أيضًا. يمكنك البدء من نهاية المصفوفة:

colors = ["red", "green", "blue", "yellow"]
last_two = colors[-2, 2]

puts last_two  # المخرجات: blue, yellow

إذا طلبت عناصر أكثر من المتاح، فإن Ruby تُعيد ببساطة ما هو موجود دون إصدار خطأ:

nums = [1, 2, 3]
slice = nums[1, 10]

puts slice  # المخرجات: 2, 3

اختر هذه الطريقة عندما تعرف عدد العناصر المطلوبة، واستخدم النطاقات عندما تعرف المواضع الدقيقة.

challenge icon

التحدي

سهل

اقرأ ثلاثة مدخلات:

  1. سطر واحد من أعداد صحيحة مفصولة بفواصل (مثال: 5,10,15,20,25,30,35,40)
  2. فهرس البداية (عدد صحيح)
  3. عدد العناصر المراد استخراجها (عدد صحيح)

قسّم المدخل الأول إلى مصفوفة من الأعداد الصحيحة. استخدم فهرس البداية والعدد لتقطيع المصفوفة باستخدام صيغة الفهرس والطول، ثم اطبع كل عنصر من الجزء المقطّع في سطر مستقل.

على سبيل المثال، إذا كانت المدخلات هي 5,10,15,20,25,30,35,40 و2 و4، فينبغي أن يكون الناتج:

15
20
25
30

إذا كانت المدخلات هي 100,200,300,400,500 و0 و2، فينبغي أن يكون الناتج:

100
200

إذا كانت المدخلات هي a,b,c,d,e,f,g و-3 و2، فينبغي أن يكون الناتج:

e
f

إذا كانت المدخلات هي 10,20,30 و1 و10، فينبغي أن يكون الناتج:

20
30

جرّب بنفسك

# اقرأ المدخلات
input_line = gets.chomp
start_index = gets.chomp.to_i
count = gets.chomp.to_i

# قسّم المدخل إلى مصفوفة
arr = input_line.split(',')

# TODO: اكتب الكود أدناه لاستخراج جزء من المصفوفة باستخدام صيغة الفهرس والطول
# واطبع كل عنصر في سطر منفصل
quiz iconاختبر نفسك

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

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

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