Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

154
Vistas
¿Por qué Result.map en Kotlin se comporta de manera diferente para los tipos de Unidad?

Estoy confundido acerca de los siguientes dos fragmentos de código de Kotlin:

UN:

 val r: Result<Unit> = Result.success(Unit).map { Result.success(Unit) }

B:

 val r: Result<Int> = Result.success(Unit).map { Result.success(1) }

El fragmento A compila mientras que el fragmento B no compila.

¿Alguien puede explicar por qué el fragmento A funciona con el sistema de tipos de Kotlin?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Se supone que no debes devolver un resultado del map lambda. Se supone que debe devolver un valor que se incluirá en un resultado. Es por eso que su código B falla. Tendría éxito con solo map { 1 } .

El código A tiene éxito porque cuando Kotlin espera que una lambda devuelva Unit, implícitamente devuelve Unit independientemente de cuál sea la última línea de código en la lambda. Si no hiciera esto, cualquier lambda que no tenga valor de retorno tendría que terminar con una línea que diga Unidad. De la misma manera, cualquier función sin valor de retorno explícito tiene un tipo de retorno implícito de Unidad, pero el compilador no requiere que escriba explícitamente return Unit al final de sus funciones.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda