تقطيع المصفوفات باستخدام الفهارس
جزء من قسم الأساسيات في رحلة 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اختر هذه الطريقة عندما تعرف عدد العناصر المطلوبة، واستخدم النطاقات عندما تعرف المواضع الدقيقة.
التحدي
سهلاقرأ ثلاثة مدخلات:
- سطر واحد من أعداد صحيحة مفصولة بفواصل (مثال:
5,10,15,20,25,30,35,40) - فهرس البداية (عدد صحيح)
- عدد العناصر المراد استخراجها (عدد صحيح)
قسّم المدخل الأول إلى مصفوفة من الأعداد الصحيحة. استخدم فهرس البداية والعدد لتقطيع المصفوفة باستخدام صيغة الفهرس والطول، ثم اطبع كل عنصر من الجزء المقطّع في سطر مستقل.
على سبيل المثال، إذا كانت المدخلات هي 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: اكتب الكود أدناه لاستخراج جزء من المصفوفة باستخدام صيغة الفهرس والطول
# واطبع كل عنصر في سطر منفصليتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم13المصفوفات المتقدمة
تقطيع المصفوفات باستخدام النطاقاتتقطيع المصفوفات باستخدام الفهارسمعاملات المصفوفاتدالة Include?2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأتدرّب بنفسك: مترجم Ruby عبر الإنترنت