サーチ…
前書き
範囲式は、inと!inで補完される演算子の..を持つrangeTo関数で形成されます。範囲はすべての比較可能な型に対して定義されますが、整数型のプリミティブ型では最適化された実装があります
積分型の範囲
インテグラル型の範囲(IntRange、LongRange、CharRange)には特別な機能があります。それらは反復処理が可能です。コンパイラはこれを、Javaのインデックス付きfor-loopと同様に、余分なオーバーヘッドなしに変換します
for (i in 1..4) print(i) // prints "1234"
for (i in 4..1) print(i) // prints nothing
downTo()関数
数字を逆順に繰り返したい場合は?それは簡単です。標準ライブラリで定義されたdownTo()関数を使用することができます
for (i in 4 downTo 1) print(i) // prints "4321"
step()関数
任意のステップで数値を反復することは可能ですか?1に等しくはありませんか?もちろん、step()関数はあなたに役立ちます
for (i in 1..4 step 2) print(i) // prints "13"
for (i in 4 downTo 1 step 2) print(i) // prints "42"
機能まで
end要素を含まない範囲を作成するには、until関数を使用します。
for (i in 1 until 10) { // i in [1, 10), 10 is excluded
println(i)
}
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow