Zoeken…


Invoering

Bereikuitdrukkingen worden gevormd met bereikTo-functies met de operatorvorm ... die wordt aangevuld met in en! In. Bereik is gedefinieerd voor elk vergelijkbaar type, maar voor integrale primitieve typen heeft het een geoptimaliseerde implementatie

Integrale typebereiken

Integrale typebereiken (IntRange, LongRange, CharRange) hebben een extra functie: ze kunnen worden herhaald. De compiler zorgt ervoor dat dit analoog wordt geconverteerd naar Java's geïndexeerde for-loop, zonder extra overhead

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

functie downTo ()

als u nummers in omgekeerde volgorde wilt herhalen? Het is makkelijk. U kunt de functie downTo () gebruiken die in de standaardbibliotheek is gedefinieerd

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

step () functie

Is het mogelijk om getallen te herhalen met een willekeurige stap, niet gelijk aan 1? Natuurlijk zal de step () functie je helpen

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

tot functie

Om een bereik te maken dat geen eindelement bevat, kunt u de functie till gebruiken:

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow