Szukaj…
Wprowadzenie
Wyrażenia zakresu są tworzone za pomocą funkcji rangeTo, które mają postać operatora .. który jest uzupełniony przez in i! In. Zakres jest zdefiniowany dla każdego porównywalnego typu, ale dla integralnych typów pierwotnych ma zoptymalizowaną implementację
Zintegrowane zakresy typów
Zakresy typów całkowych (IntRange, LongRange, CharRange) mają dodatkową cechę: można je powtarzać. Kompilator zajmuje się konwertowaniem tego analogicznie na indeksowaną pętlę for Java bez dodatkowych kosztów
for (i in 1..4) print(i) // prints "1234"
for (i in 4..1) print(i) // prints nothing
funkcja downTo ()
jeśli chcesz iterować liczby w odwrotnej kolejności? To proste. Możesz użyć funkcji downTo () zdefiniowanej w standardowej bibliotece
for (i in 4 downTo 1) print(i) // prints "4321"
funkcja step ()
Czy można iterować liczby z dowolnym krokiem, nie równym 1? Jasne, funkcja step () ci pomoże
for (i in 1..4 step 2) print(i) // prints "13"
for (i in 4 downTo 1 step 2) print(i) // prints "42"
do funkcji
Aby utworzyć zakres, który nie zawiera jego elementu końcowego, możesz użyć funkcji till:
for (i in 1 until 10) { // i in [1, 10), 10 is excluded
println(i)
}