Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.
Los rangos en Kotlin son un tipo de iterador que sirven sobre todo en los ciclos.
Un rango se define usando los dos puntos ..
y va de un punto a otro. Puede avanzar por pasos y puede ser invertido.
Podemos definir un rango de números:
val rangoDeNumeros = 1..5
Ahora el rango irá desde el 1 hasta el 5. Podemos iterarlo en un ciclo for.
También se pueden definir rangos de caracteres o letras (y las mismas pueden ser mayúsculas):
De la misma manera, se puede con otro tipo de caracteres, por ejemplo los ascii:
La regla aquí es que el inicio del rango debe ser menor o igual que el fin del mismo. Por ejemplo, lo siguiente no es inválido pero crea un rango vacío:
val rangoInvalido = 10..1
En un momento veremos cómo hacer los rangos inversos
No podemos crear rangos al revés o invertidos, pero sí podemos invertir a un rango ya creado usando reversed
. Por ejemplo:
En este caso estamos encerrando el rango entre paréntesis para separar las expresiones.
Igualmente puede crearse un rango invertido a partir de uno ya existente:
En Kotlin se pueden crear rangos que avancen determinados pasos en cada iteración, no solo uno.
Por ejemplo, el siguiente rango va a ir del -10 al 100 (sí, se puede comenzar en números negativos) en pasos de 2.
Va a comenzar en -10, luego irá a -8, -6, etcétera:
En este caso el paso es de 2; puede ser de 3, 4, etcétera.
Podemos usar el operador in (aparte de para recorrer) para saber si un elemento está dentro de un rango:
Lo mismo pasa con los otros tipo de datos.
Para resumir todo lo explicado sobre los rangos en Kotlin podemos ver el siguiente código:
Puedes ejecutarlo en el Playground.