חיתוך מערכים
חלק מהיחידה יסודות במסלול ה-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 עדיין מכיל את כל עשרת האיברים.
אתגר
קלהתוכנית קוראת שורה של פריטים המופרדים בפסיקים אל המערך 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(",")
# הדפס את הפריטים האמצעיים
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםחלוקה שלמהאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואהתרגלו בעצמכם: קומפיילר GDScript אונליין