פיצול וחיבור
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Swift של Coddy. שיעור 4 מתוך 56.
שני כלים יומיומיים לעבודה עם טקסט מופרד. שניהם מגיעים מ־Foundation, שכבר יובאה.
components(separatedBy:) מפצלת מחרוזת למערך של ערכי String לפי כל מפריד שתעבירו לה:
let csv = "red,green,blue"
let parts = csv.components(separatedBy: ",")
print(parts) // ["red", "green", "blue"]הפעולה ההפוכה היא joined(separator:) על כל [String]:
let words = ["swift", "is", "fun"]
let line = words.joined(separator: " ")
print(line) // "swift is fun"לעיתים קרובות תשלב אותם: פצל, שנה באמצעות map, וחבר בחזרה. התוצאה של map על [String] היא עדיין [String], ולכן joined פועל ישירות.
אתגר
קלקרא שורת קלט אחת: רשימת מילים המופרדות בפסיקים.
הדפס שלוש שורות:
- מספר המילים לאחר הפיצול לפי
, - המילים מחוברות מחדש עם
>(רווח, גדול מ־, רווח), באותיות גדולות - המילה הארוכה ביותר ברשימה (לאחר הפיצול). אם יש שתי מילים באותו אורך, השתמש בזו שמופיעה ראשונה.
עבור הקלט red,green,blue, הפלט הוא:
3
RED > GREEN > BLUE
greenנסו בעצמכם
let line = readLine()!
let words = line.components(separatedBy: ",")
// TODO: הדפס את מספר המילים, את המילים באותיות רישיות מחוברות באמצעות " > ", ואת המילה הארוכה ביותר הראשונה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מחרוזות לעומק
ספירה ואינדקסיםאותיות גדולות וקטנות והסרת רווחיםחיפוש במחרוזותפיצול וחיבורהחלפת תתי־מחרוזותסיכום – בדיקת שם משתמשתרגלו בעצמכם: Swift אונליין