Menu
CoddyTech
flag Ar iconالعربيةdown icon

تقطيع المصفوفات

جزء من قسم الأساسيات في رحلة GDScript على Coddy. الدرس 73 من 92.

تعيد الطريقة slice() مصفوفة جديدة تحتوي على جزء من العناصر. تأخذ slice(begin, end) العناصر بدءًا من الفهرس begin وحتى الفهرس end، دون تضمينه:

var numbers := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers.slice(2, 6))
[2, 3, 4, 5]

بدون end، يمتدّ المقطع حتى نهاية المصفوفة:

print(numbers.slice(5))
[5, 6, 7, 8, 9]

تُعَدّ الفهارس السالبة من النهاية. يأخذ slice(-3) العناصر الثلاثة الأخيرة، ويأخذ slice(0, -2) كل شيء باستثناء العنصرين الأخيرين:

print(numbers.slice(-3))
print(numbers.slice(0, -2))
[7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7]

تأخذ الوسيطة الثالثة، الخطوة، كل عنصر رقم n. تأخذ slice(1, 8, 2) الفهارس 1 و3 و5 و7:

print(numbers.slice(1, 8, 2))
[1, 3, 5, 7]

لا تغيّر slice() المصفوفة الأصلية: لا تزال numbers تحتوي على العناصر العشرة كلها.

challenge icon

التحدي

سهل

يقرأ البرنامج سطرًا من العناصر المفصولة بفواصل في المصفوفة items (مكتوبة مسبقًا). اطبع الجزء الأوسط من المصفوفة باستخدام slice():

  • إذا كان عدد العناصر فرديًا، فاطبع العنصر الأوسط وعنصرًا واحدًا على كل جانب (3 عناصر؛ إذا كان هناك عنصر واحد فقط، فاطبع ذلك العنصر)
  • إذا كان العدد زوجيًا، فاطبع العنصرين الأوسطين

بالنسبة إلى apple,banana,orange,grape يكون الناتج ["banana", "orange"]، وبالنسبة إلى a,b,c,d,e يكون الناتج ["b", "c", "d"].

جرّب بنفسك

extends Node

func _ready():
	var items := OS.read_string_from_stdin().split(",")
	# اطبع العناصر الموجودة في الوسط
quiz iconاختبر نفسك

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

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

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