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).
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
.
val lista = List(1, 2, 3, 4)
val resultado = for (n <- lista) yield n * 2
println(resultado) // Salida: List(2, 4, 6, 8)
for comprehension
val resultado = for {
n <- lista
if n % 2 == 0
} yield n
println(resultado) // Salida: List(2, 4)
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)
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))
Para más detalles, consulta la documentación oficial de Scala.
Jorge García
Fullstack developer