Menu
Coddy logo textTech

ストライド

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

範囲は一度に 1 ステップずつ進みます。異なるステップサイズを使いたい場合や、減少するように数えたい場合は、stride を使います。

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

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行)startendstepを読み込みます。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プレイグラウンド