Ejercicio de programación con Kotlin: Transformación en monads y functors
Código
0h 20m
Kotlin: ejercicio sobre transformaciones en Monads y Functors para desarrollar habilidades en programación funcional. Aprende a manipular estructuras avanzadas.
Implementa en Kotlin una función llamada procesarEntrada
que reciba una lista de cadenas de texto.
La función debe realizar las siguientes operaciones de manera funcional utilizando transformaciones en monads:
- Convierte cada cadena en un número entero utilizando
toIntOrNull()
, lo que devuelve unInt?
. - Para cada cadena:
- Si la conversión es exitosa:
- Si el número es par, divídelo entre 2.
- Si el número es impar, multiplícalo por 3 y súmale 1.
- Devuelve el resultado en un
Result.success
.
- Si la conversión falla (es decir, la cadena no es un número válido), devuelve un
Result.failure
con un mensaje de error apropiado.
- Si la conversión es exitosa:
Devuelve una lista de Result<Int>
donde cada elemento representa el resultado de la transformación anterior o un error.
Requisitos:
- Utiliza las funciones
map
yflatMap
para manejar las transformaciones y evitar anidar monads. - No utilices estructuras de control como
if
,else
owhen
; maneja todo de forma funcional. - Evita el uso de variables mutables; trabaja con valores inmutables y transformaciones funcionales.
- La función debe ser capaz de manejar listas vacías y cadenas no numéricas sin generar errores.
Todos los ejercicios de programación de Kotlin
Evalúa tus conocimientos con ejercicios de programación en Kotlin de tipo Test, Puzzle, Código y Proyecto con VSCode.
Clases genéricas con varianza y restricciones
Código
Introducción a las corutinas
Test
Uso de asincronía con suspend, async y await
Código
Formateo de cadenas texto
Código
Uso de monads y manejo funcional de errores
Código
Declaración y uso de variables y constantes
Código
Uso de la concurrencia funcional con corutinas
Código
Operaciones en colecciones
Código
Uso de clases y objetos en Kotlin
Puzzle
Evaluación Kotlin
Test
Funciones de orden superior y expresiones lambda en Kotlin
Código
Herencia y polimorfismo en Kotlin
Código
Inmutabilidad y datos inmutables
Código
Uso de funciones parciales y currificaciones
Código
Primer programa en Kotlin
Código
Introducción a la programación funcional
Test
Introducción a Kotlin
Test
Uso de operadores y expresiones
Puzzle
Sistema de inventario de tienda
Proyecto
Uso de data classes y destructuring
Código
Certificados de superación de Kotlin
Supera todos los retos de Kotlin y obtén estos certificados de superación para mejorar tu currículum y tu empleabilidad.
Tutorial para resolver este ejercicio de programación
Kotlin
Transformaciones en Monads y Functors
Programación funcional