Menu
CoddyTech

חיתוך מערכים

חלק מהיחידה יסודות במסלול ה-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 אונליין