Menu
Coddy logo textTech

שיטת enumerate

חלק מהיחידה יסודות במסלול ה-Swift של Coddy. שיעור 70 מתוך 86.

לפעמים, כשעוברים על מערך, צריך לדעת לא רק מהו האיבר, אלא גם מה המיקום שלו. אפשר לעקוב ידנית אחר האינדקס באמצעות משתנה מונה, אבל Swift מספקת פתרון נקי יותר: המתודה enumerated().

כשמפעילים את enumerated() על מערך, מתקבל רצף של זוגות, כאשר כל זוג מכיל את האינדקס ואת האיבר:

let colors = ["Red", "Green", "Blue"]

for (index, color) in colors.enumerated() {
    print("\(index): \(color)")
}
// 0: Red
// 1: Green
// 2: Blue

שימו לב כיצד אנחנו מפרקים כל tuple ישירות בלולאה באמצעות (index, color). כך יש לנו גישה לשני הערכים ללא קוד נוסף.

זה שימושי במיוחד כשצריך להציג רשימות ממוספרות או לבצע פעולות שתלויות במיקום של רכיב:

let tasks = ["Wake up", "Exercise", "Eat breakfast"]

for (index, task) in tasks.enumerated() {
    print("Task \(index + 1): \(task)")
}
// משימה 1: להתעורר
// משימה 2: להתאמן
// משימה 3: לאכול ארוחת בוקר

השיטה enumerated() שומרת על הקוד שלך נקי וקריא, בהשוואה לניהול ידני של משתנה מונה נפרד.

challenge icon

אתגר

קל
כתבו פונקציה formatWithPositions שמקבלת את items ומחזירה מחרוזת מעוצבת המציגה כל פריט עם מספר המיקום שלו.

השתמשו בשיטה enumerated() כדי לעבור על המערך ולבנות מחרוזת שבה לפני כל פריט מופיע מספר המיקום שלו, בספירה החל מ־1.

לוגיקה:

  1. עברו על המערך באמצעות enumerated()
  2. עבור כל איבר, צרו מחרוזת בתבנית "position. item" (באמצעות מספור החל מ־1)
  3. חברו את כל המחרוזות המעוצבות באמצעות תו ירידת שורה (\n)

פרמטרים:

  • items ([String]): מערך של מחרוזות לעיצוב

ערך מוחזר: מחרוזת אחת שבה כל פריט מופיע בשורה משלו, ולפניו מספר המיקום שלו (String). תבנית: "1. item1\n2. item2\n3. item3"

דוגמה: אם items הוא ["Apple", "Banana", "Cherry"], הפונקציה אמורה להחזיר:

"1. Apple\n2. Banana\n3. Cherry"

הערה: אם המערך ריק, החזירו מחרוזת ריקה "".

נסו בעצמכם

func formatWithPositions(items: [String]) -> String {
    // כתבו כאן קוד
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: Swift אונליין