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