Menu
Coddy logo textTech

יצירת קבוצות

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Swift של Coddy. שיעור 18 מתוך 56.

Set היא אוסף לא מסודר של ערכים ייחודיים. לכל איבר יש אותו סוג, אין כפילויות, ואין סדר איטרציה צפוי.

var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count)              // 3 (הכפילות של "red" מוסרת)
Set<String> הוא חובה בצורה הליטרלית, מכיוון ש-["a", "b"] לבדו היה מוסק כ-Array.

שלוש פעולות ליבה: contains, insert ו־remove. שתי האחרונות מחזירות מידע על השאלה אם השינוי היה משמעותי.

colors.insert("yellow")         // מוסיף אותו
colors.insert("red")            // כבר קיים, אין השפעה
colors.contains("green")        // true
colors.remove("blue")           // מחזיר "blue" או nil אם אינו קיים

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

let unique = Set([1, 2, 2, 3, 3, 3])
// 3 איברים, הסדר המדויק אינו מובטח
challenge icon

אתגר

מתחילים

קראו שורת קלט אחת: רשימת מילים המופרדות בפסיקים (ייתכנו כפילויות).

הדפיסו שלוש שורות:

  1. מספר המילים ההייחודיות (השתמשו ב־Set)
  2. המילים הייחודיות ממוינות בסדר אלפביתי, ומחוברות באמצעות ,
  3. true אם הקלט מכיל את המילה swift, אחרת false (השתמשו ב־contains)

עבור הקלט swift,ruby,go,swift,go,rust, הפלט הוא:

4
go,ruby,rust,swift
true

נסו בעצמכם

let words = readLine()!.components(separatedBy: ",")

// TODO: הסר כפילויות באמצעות Set, הדפס את המספר, את הערכים הממוינים כשהם מחוברים, והאם הוא מכיל את הטקסט המדויק מההוראות
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

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