ストライド
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, 8for n in stride(from: 10, through: 0, by: -2) {
print(n)
}
// 10, 8, 6, 4, 2, 0by: 引数は正しい符号でなければなりません。上向きに数える場合は正、下向きに数える場合は負です。一致しない場合、ループは 0 回実行されます。
チャレンジ
簡単3つの整数(3行)start、end、stepを読み込みます。stepは正でも負でもかまいません。範囲の両端は含まれます(stride(from:through:by:)を使用します)。
次の内容を出力します:
- stride内の値を
,で結合したもの - 生成された値の個数
入力が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:)、カンマで結合し、その後カウントを出力
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: Swiftプレイグラウンド