
Wilfrido Muratalla
PreguntaAlguien sabe por qué también en la impresión sale aparte de el resultado el mensaje: kotlin.Unit?

Enrique Rabell Talamantes
Hola ¡wilfrido! Esto es porque en el código esta de la siguiente manera:
println(calculateNumber(6))
Al hacer eso se ejecuta el método CalculateNumber con 6, pero ademas el método println debe imprimir lo que retorna el método y ya que este método no retorna nada, "el valor de retorno por defecto" es Unit como explicó la maestra en clases anteriores y es por eso que aparte de lo que imprime el método se imprime lo que retorna. SI no quieres que esto se muestre puede llamar a la función sin el println():
calculateNumber(6)
Espero haberte ayudado :)

Mario Moreno
Hola Wilfrido, es porque ocupa dos prints, uno dentro de la lambda y otro para llamar a la lambda. Se puede llamar a la lambda sin necesidad de otro print de la siguiente forma:
val caculateNumber = {n: Int -> when(n){ in 1..3 -> println("Tu número está entre 1 y 3") in 4..7 -> println("Tu número está entre 4 y 7") in 8..10 -> println("Tu número está entre 8 y 10") } } caculateNumber(6)