Menu
CoddyTech

ストライド

CoddyのSwiftジャーニー「ロジックとフロー」セクションの一部。レッスン 8/56。

範囲は1ステップずつ進みます。異なるステップ幅にしたい場合や、逆方向に数えたい場合は、strideを使います。

2種類があります。stride(from:to:by:)は2つ目の値の前で停止します(半開区間)。stride(from:through:by:)は2つ目の値を含む場合があります(閉区間)。

for n in stride(from: 0, to: 10, by: 2) {
    print(n)
}
// 0, 2, 4, 6, 8
for n in stride(from: 10, through: 0, by: -2) {
    print(n)
}
// 10, 8, 6, 4, 2, 0

by: 引数は正しい符号でなければなりません。カウントアップする場合は正、カウントダウンする場合は負です。一致しない場合、ループは0回実行されます。

challenge icon

チャレンジ

簡単

3つの整数(3行)を読み取ります: start、end、step。step は正または負の場合があります。範囲は両端を含みます(stride(from:through:by:)を使用します)。

次を出力します:

  1. stride の値を,で結合したもの
  2. 生成された値の個数

入力が 0 / 10 / 3 の場合、出力は次のとおりです:

0,3,6,9
4

入力が 10 / 0 / -2 の場合、出力は次のとおりです:

10,8,6,4,2,0
6

自分で試してみよう

let start = Int(readLine()!)!
let end = Int(readLine()!)!
let step = Int(readLine()!)!

// TODO: stride(from:through:by:) を使い、カンマで連結してから個数を出力する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン

自分で練習してみよう: Swiftプレイグラウンド