sábado, 1 de julio de 2017

Rangos en Kotlin


Todos hablan Kotlin, desde que es un lenguaje soportado por android se ha vuelto un famoso y con mucha publicidad. Y no vamos a ser la excepción.

En este caso vamos hablar de los rangos. Los rangos se define para cualquier tipo comparable, pero se usa principalmente para primitivos. Empecemos con algo simple un if, que nos permita saber si un numero se encuentra en un rango:

if ( i in 1 .. 10 ) { // equivalente a 1 <= i && i <= 10
  println(i);
}

Veamos un for:

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

for (i in 4..1) print(i) // no imprime nada

//Usando downTo()
for (i in 4 downTo 1) print(i) // Ahora si imprime!  "4321"

//Lo mismo pero con clausura:
(1..4).reversed().forEach(System.out::print)

//Si queremos saltarnos algunos valores:
for (i in 1..4 step 2) print(i) // imprime "13"

for (i in 4 downTo 1 step 2) print(i) // imprime "42"

//Si deseamos excluir el ultimo valor podemos usar until
for (i in 1 until 10) {
     println(i)
}

Dejo link: http://developersjournal.in/pondering-over-kotlin-ranges/