ストライド
CoddyのSwiftジャーニー「ロジックとフロー」セクションの一部 — レッスン 8/56。
範囲(range)は一度に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。ステップ(増分)は正または負の値になる可能性があります。範囲は両端を含みます(stride(from:through:by:)を使用してください)。
以下を出力してください:
- ストライド内の値を
,で連結したもの - 生成された値の個数
入力が 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:) を使い、カンマで結合し、カウントを出力する
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。