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 を返します。
チートシート
continue文は、ループを完全に終了させることなく、現在のループの反復をスキップして次の反復に移動します。
for number in 1...5 {
if number == 3 {
continue
}
print(number)
}
// 出力: 1, 2, 4, 5条件が満たされると、continueはその反復内の残りのコードをスキップし、次の値にジャンプします。
偶数をフィルタリングする例:
for number in 1...6 {
if number % 2 != 0 {
continue
}
print(number)
}
// 出力: 2, 4, 6主な違い: breakはループを完全に終了しますが、continueは次の反復にスキップするだけです。
自分で試してみよう
func sumExcludingMultiples(limit: Int, skip: Int) -> Int {
// ここにコードを記述してください
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。