Buscar..


Introducción

Las expresiones de rango se forman con funciones rangeTo que tienen la forma de operador .. que se complementa con in y! In. El rango se define para cualquier tipo comparable, pero para los tipos primitivos integrales tiene una implementación optimizada

Tipos de rangos integrales

Los rangos de tipos integrales (IntRange, LongRange, CharRange) tienen una característica adicional: pueden ser iterados. El compilador se encarga de convertir esto de manera análoga al bucle for-indexado de Java, sin sobrecarga adicional

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

función downTo ()

¿Si quieres iterar sobre números en orden inverso? Es sencillo. Puede usar la función downTo () definida en la biblioteca estándar

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

función de paso

¿Es posible iterar sobre números con un paso arbitrario, no igual a 1? Claro, la función step () te ayudará.

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

hasta la función

Para crear un rango que no incluya su elemento final, puede usar la función until:

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow