Volver a la página principal
lunes 14 octubre 2024
2

Cómo utilizar for comprehension en Scala

El for comprehension en Scala es una forma concisa y legible de iterar y transformar colecciones, así como de trabajar con estructuras de datos monádicas como Option, List, o Future. Es similar a los bucles for en otros lenguajes, pero más expresivo y poderoso, ya que se basa en el concepto de comprehensions (comprensiones).

¿Qué es un for comprehension en Scala?

Un for comprehension en Scala es una sintaxis que permite encadenar múltiples operaciones sobre colecciones o monadas (como Option, List, Try, etc.) de manera declarativa. Internamente, se traduce a combinaciones de llamadas a métodos como map, flatMap, y filter.

Ejemplos de uso

Uso básico con listas

val lista = List(1, 2, 3, 4)
val resultado = for (n <- lista) yield n * 2
println(resultado) // Salida: List(2, 4, 6, 8)

Filtrar elementos dentro de un for comprehension

val resultado = for {
  n <- lista
  if n % 2 == 0
} yield n
println(resultado) // Salida: List(2, 4)

Uso con Option

val opcion1: Option[Int] = Some(10)
val opcion2: Option[Int] = Some(5)

val resultado = for {
  a <- opcion1
  b <- opcion2
} yield a + b

println(resultado) // Salida: Some(15)

Uso con múltiples colecciones

val lista1 = List(1, 2)
val lista2 = List("a", "b")

val combinaciones = for {
  n <- lista1
  letra <- lista2
} yield (n, letra)

println(combinaciones) // Salida: List((1,a), (1,b), (2,a), (2,b))

Referencia

Para más detalles, consulta la documentación oficial de Scala.

Etiquetas:
scala
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer