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)
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow