Swift Academy · レッスン

stride(from:to:by:)によるカウント

負の値を含む、任意の増分でステップ処理します。

レッスン 3/413 ステップ

「stride(from:to:by:)によるカウント」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

stride が存在する理由

通常の範囲は 1 ずつ進みます。1 以外の間隔で数えたり、逆方向に数えたり、小数を使ったりするために、Swift では stride 関数が用意されています。

for n in stride(from: 0, to: 10, by: 2) {
    print(n)
}

stride from to by

stride(from: a, to: b, by: step) は、a から始めて step ずつ進み、b の手前まで値を生成します。終端は含まれません。

for n in stride(from: 0, to: 5, by: 1) {
    print(n)
}

stride from through by

stride(from: a, through: b, by: step) は、終端を含む形式です。ステップによって b にちょうど到達できる場合は、b も含まれます。

for n in stride(from: 0, through: 10, by: 5) {
    print(n)
}

降順に数える

下方向に数えるには、負のステップを使用してください。by: の値には負の数を指定できます。

for n in stride(from: 5, through: 1, by: -1) {
    print(n)
}

値を飛ばす

ステップを大きくすると値を飛ばせるため、N 個おきの反復処理に便利です。

for n in stride(from: 0, to: 20, by: 5) {
    print(n)
}

Double での stride

範囲とは異なり、stride は浮動小数点値にも対応しているため、小数の間隔で進むことができます。

for x in stride(from: 0.0, through: 1.0, by: 0.25) {
    print(x)
}

to と through の違い

違いは終端の扱いです。to は終端を含まず、through は終端を含みます。最後の値を含めたいかどうかに応じて選択してください。

print(Array(stride(from: 1, to: 4, by: 1)))
print(Array(stride(from: 1, through: 4, by: 1)))

stride を配列に格納する

Array(...) を使うと、stride の結果を配列に格納できます。

let evens = Array(stride(from: 0, through: 10, by: 2))
print(evens)

stride によるインデックス処理

stride は、コレクションの1つおきのインデックスを訪問するときに便利です。

let items = ["a", "b", "c", "d", "e"]
for i in stride(from: 0, to: items.count, by: 2) {
    print(items[i])
}

逆方向の反復

配列を末尾から先頭へ走査するには、最後のインデックスから 0 まで stride してください。

let nums = [10, 20, 30]
for i in stride(from: nums.count - 1, through: 0, by: -1) {
    print(nums[i])
}

stride の合計

stride と累積処理を組み合わせると、一定間隔で進む値の並びを合計できます。

var total = 0
for n in stride(from: 0, through: 100, by: 10) {
    total += n
}
print(total)

確認問題

stride を試してみましょう。

まとめ:stride によるカウント

stride(from:to:by:) は終端を含まず、stride(from:through:by:) は終端を含みます。負のステップを使うと降順に数えることができ、Double を含む任意の数値ステップで、指定した間隔で数えられます。

for n in stride(from: 0, through: 6, by: 2) { print(n) }
無料で開始

AI チューターと学ぶ Swift — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
122
レッスン
409

よくある質問

「stride(from:to:by:)によるカウント」レッスンは無料ですか?

はい。「stride(from:to:by:)によるカウント」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「stride(from:to:by:)によるカウント」で何を学びますか?

負の値を含む、任意の増分でステップ処理します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「stride(from:to:by:)によるカウント」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 閉じた範囲と半開範囲
  2. 片側範囲
  3. stride(from:to:by:)によるカウント
  4. コレクションとしての範囲
← Swift Academyに戻る