Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

153
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!