Continue
CoddyのSwiftジャーニー「基礎」セクションの一部。レッスン 46/86。
breakがループを完全に終了させるのに対し、現在の反復をスキップして次の反復に進みたい場合もあります。continue文はまさにそれを行います。
for number in 1...5 {
if number == 3 {
continue
}
print(number)
}
// 出力: 1, 2, 4, 5number が 3 に等しい場合、continue 文はその反復の残りをスキップします。ループは停止しません。次の値へジャンプするだけです。出力に 3 がないことに注目してください。ただし、4 と 5 は引き続き出力されます。
ループ全体を停止せずに特定の値を除外したい場合に便利です。たとえば、偶数のみを出力する場合です:
for number in 1...6 {
if number % 2 != 0 {
continue
}
print(number)
}
// 出力: 2, 4, 6重要な違い:breakはループを完全に停止しますが、continueは次の反復処理に進むだけです。
チャレンジ
簡単limit と skip を受け取り、1 から limit までのすべての数のうち、skip の倍数を除外した合計を返す関数 sumExcludingMultiples を作成してください。
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 {
// ここにコードを書いてください
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Swiftプレイグラウンド