Continue
חלק מהיחידה יסודות במסלול ה-Swift של Coddy. שיעור 46 מתוך 86.
בעוד שהפקודה break יוצאת מהלולאה לחלוטין, לפעמים רוצים רק לדלג על האיטרציה הנוכחית ולעבור לבאה אחריה. הפקודה continue עושה בדיוק את זה.
for number in 1...5 {
if number == 3 {
continue
}
print(number)
}
// פלט: 1, 2, 4, 5כאשר number שווה ל־3, הפקודה continue מדלגת על שאר האיטרציה. הלולאה לא נעצרת. היא פשוט עוברת לערך הבא. שימו לב ש־3 חסר בפלט, אבל 4 ו־5 עדיין מודפסים.
הדבר שימושי כשרוצים לסנן ערכים מסוימים בלי לעצור את הלולאה כולה. למשל, להדפיס רק מספרים זוגיים:
for number in 1...6 {
if number % 2 != 0 {
continue
}
print(number)
}
// פלט: 2, 4, 6ההבדל העיקרי: break עוצר את הלולאה לחלוטין, ואילו continue רק מדלג לאיטרציה הבאה.
אתגר
קלכתבו פונקציה sumExcludingMultiples שמקבלת את limit ואת skip ומחזירה את הסכום של כל המספרים מ־1 עד limit, למעט מספרים שהם כפולות של skip.
השתמשו בלולאה עם continue כדי לדלג על כפולות של המספר הנתון, תוך צבירת הסכום של כל הערכים האחרים.
לוגיקה:
- עברו בלולאה על המספרים מ־1 עד
limit - אם המספר הנוכחי הוא כפולה של
skip, השתמשו ב־continueכדי לדלג עליו - אחרת, הוסיפו את המספר לסכום המצטבר
- החזירו את הסכום הסופי
פרמטרים:
limit(Int): הגבול העליון של הטווח (כולל)skip(Int): יש לדלג על מספרים שמתחלקים בערך הזה
ערך מוחזר: סכום כל המספרים מ־1 עד limit שאינם כפולות של skip (Int)
לדוגמה, אם limit הוא 10 ו־skip הוא 3, הפונקציה מדלגת על 3, 6 ו־9, ולכן מחזירה 1 + 2 + 4 + 5 + 7 + 8 + 10 = 37.
נסו בעצמכם
func sumExcludingMultiples(limit: Int, skip: Int) -> Int {
// כתבו כאן את הקוד
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסי
פונקציית ההדפסהאינטרפולציה של מחרוזותקלט באמצעות ReadLineהמרת טיפוסיםחזרה – עד 120חזרה – אמת או שקר3ערכים אופציונליים
מהם ערכים אופציונלייםשליפת ערך באמצעות If LetGuard Letאופרטור איחוד עם Nilסיכום – שליפה בטוחה של ערך9לולאות
לולאת For-Inלולאת Whileלולאת Repeat-WhileBreakContinueחזרה – עצרתטווחים בלולאותלולאה מקוננתחזרה – קלט דינמיתרגלו בעצמכם: Swift אונליין