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

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

جزء من قسم الأساسيات في رحلة 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. عدد العناصر المراد استخراجها (عدد صحيح)

قم بتقسيم المدخل الأول إلى مصفوفة من الأعداد الصحيحة. استخدم فهرس البداية والعدد لتقطيع المصفوفة باستخدام صيغة الفهرس والطول (index-and-length syntax)، ثم اطبع كل عنصر من الجزء المقطوع في سطر مستقل.

على سبيل المثال، إذا كانت المدخلات هي 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

ورقة مرجعية

تسمح لغة Ruby بتقطيع المصفوفات باستخدام فهرس البداية والطول. تستخدم الصيغة فاصلة للفصل بين فهرس البداية والعدد:

array[start_index, length]

مثال أساسي:

numbers = [10, 20, 30, 40, 50]
slice = numbers[1, 3]
puts slice  # المخرجات: 20, 30, 40

الرقم الأول هو موضع البداية، والثاني هو عدد العناصر المراد استخراجها.

تعمل الفهارس السالبة مع هذه الصيغة، مما يسمح لك بالبدء من نهاية المصفوفة:

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

جرّب بنفسك

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

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

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

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

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