Sök…


Introduktion

Områdeuttryck bildas med RangeTo-funktioner som har operatörsformen .. som kompletteras med in och! In. Område definieras för alla jämförbara typer, men för integrerade primitiva typer har det en optimerad implementering

Integrerade typintervall

Integrerade typintervall (IntRange, LongRange, CharRange) har en extra funktion: de kan itereras över. Kompilatorn handlar om att konvertera detta på ett analogt sätt till Java: s indexerade for-loop utan extra omkostnader

for (i in 1..4) print(i) // prints "1234"
for (i in 4..1) print(i) // prints nothing

downTo () -funktion

om du vill iterera över siffror i omvänd ordning? Det är enkelt. Du kan använda funktionen downTo () som definieras i standardbiblioteket

for (i in 4 downTo 1) print(i) // prints "4321"

steg () -funktion

Är det möjligt att iterera över siffror med godtyckligt steg, inte lika med 1? Visst kommer steg () -funktionen att hjälpa dig

for (i in 1..4 step 2) print(i) // prints "13"
for (i in 4 downTo 1 step 2) print(i) // prints "42"

tills funktion

För att skapa ett intervall som inte inkluderar dess slutelement kan du använda funktionen 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow