יצירת קבוצות
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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 איברים, הסדר המדויק אינו מובטחאתגר
מתחיליםקראו שורת קלט אחת: רשימת מילים המופרדות בפסיקים (ייתכנו כפילויות).
הדפיסו שלוש שורות:
- מספר המילים ההייחודיות (השתמשו ב־
Set) - המילים הייחודיות ממוינות בסדר אלפביתי, ומחוברות באמצעות
, trueאם הקלט מכיל את המילהswift, אחרתfalse(השתמשו ב־contains)
עבור הקלט swift,ruby,go,swift,go,rust, הפלט הוא:
4
go,ruby,rust,swift
trueנסו בעצמכם
let words = readLine()!.components(separatedBy: ",")
// TODO: הסר כפילויות באמצעות Set, הדפס את המספר, את הערכים הממוינים כשהם מחוברים, והאם הוא מכיל את הטקסט המדויק מההוראות
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
תרגלו בעצמכם: Swift אונליין