Suche…


Einführung

Bereichsausdrücke werden mit RangeTo-Funktionen gebildet, die die Operator-Form haben .. die durch in und! In ergänzt wird. Der Bereich ist für jeden vergleichbaren Typ definiert, für integrale Primitivtypen jedoch eine optimierte Implementierung

Integrierte Typenbereiche

Integrale Typenbereiche (IntRange, LongRange, CharRange) haben eine zusätzliche Funktion: Sie können wiederholt werden. Der Compiler kümmert sich um die analoge Konvertierung in die indizierte for-Schleife von Java ohne zusätzlichen Aufwand

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

Funktion downTo ()

Wenn Sie Zahlen in umgekehrter Reihenfolge durchlaufen möchten? Es ist einfach. Sie können die in der Standardbibliothek definierte Funktion downTo () verwenden

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

Stufenfunktion

Ist es möglich, Zahlen mit beliebigen Schritten, die nicht gleich 1 sind, zu durchlaufen? Sicher, die step () - Funktion wird Ihnen helfen

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

bis zur Funktion

Um einen Bereich zu erstellen, der sein Endelement nicht enthält, können Sie die before-Funktion verwenden:

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow