חיתוך מערכים — חלק 2
חלק מהיחידה יסודות במסלול ה-Swift של Coddy. שיעור 74 מתוך 86.
Swift מספקת תחביר מקוצר ונוח לחיתוך ממערך מההתחלה או עד סופו. במקום לציין במפורש את 0 או את האינדקס האחרון, אפשר להשאיר צד אחד של הטווח ריק.
כדי לחתוך מתחילת מערך ועד לאינדקס מסוים, השמטו את ערך ההתחלה:
let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]
print(firstThree) // [10, 20, 30]באופן דומה, כדי לחתוך מאינדקס מסוים ועד הסוף, יש להשמיט את ערך הסיום:
let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...]
print(fromIndex2) // [30, 40, 50]אפשר גם להשתמש בגרסה של טווח סגור כדי לכלול נקודת התחלה מסוימת:
let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3]
print(upToIndex3) // ["a", "b", "c", "d"]הטווחים החד־צדדיים האלה הופכים את הקוד שלך לנקי יותר כשצריך את האלמנטים הראשונים או את כל מה שמופיע אחרי נקודה מסוימת. זכור לעטוף את התוצאה ב־Array() אם אתה צריך מערך רגיל במקום ArraySlice.
אתגר
קלכתבו פונקציה splitArray שמקבלת את numbers ואת index ומחזירה את כל האיברים מהאינדקס הנתון ועד סוף המערך.
השתמשו באופרטור הטווח החד־צדדי (...) כדי לחתוך מהאינדקס שצוין ועד הסוף, והחזירו את התוצאה כמערך רגיל.
פרמטרים:
numbers([Int]): המערך לחיתוךindex(Int]): אינדקס ההתחלה (כולל)
ערך מוחזר: מערך המכיל את כל האיברים מהאינדקס הנתון ועד סוף המערך ([Int])
דוגמה: אם numbers הוא [5, 10, 15, 20, 25, 30] ו-index הוא 3, הפונקציה צריכה להחזיר [20, 25, 30].
נסו בעצמכם
func splitArray(numbers: [Int], index: Int) -> [Int] {
// כתבו כאן קוד
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסי
פונקציית ההדפסהאינטרפולציה של מחרוזותקלט באמצעות ReadLineהמרת טיפוסיםחזרה – עד 120חזרה – אמת או שקר3ערכים אופציונליים
מהם ערכים אופציונלייםשליפת ערך באמצעות If LetGuard Letאופרטור איחוד עם Nilסיכום – שליפה בטוחה של ערך9לולאות
לולאת For-Inלולאת Whileלולאת Repeat-WhileBreakContinueחזרה – עצרתטווחים בלולאותלולאה מקוננתחזרה – קלט דינמיתרגלו בעצמכם: Swift אונליין