El pattern matching en Scala es una poderosa característica que permite comparar valores contra patrones y ejecutar bloques de código basados en coincidencias. Se utiliza comúnmente como una alternativa más concisa y legible que las estructuras condicionales como if
o switch
, siendo muy útil para descomponer datos y trabajar con ellos de manera eficiente.
El pattern matching en Scala permite realizar comprobaciones de un valor contra varios patrones posibles, ejecutando diferentes acciones según la coincidencia. Esto se logra principalmente con el operador match
y case
, ofreciendo una forma clara de manejar estructuras de datos complejas, como tuplas, listas, y clases.
En cada bloque de case
, Scala intentará encontrar una coincidencia con el valor de entrada. Además, es posible usar comodines (_
) para cubrir cualquier otro caso no específico.
val valor = 5
valor match {
case 1 => println("Es uno")
case 5 => println("Es cinco")
case _ => println("Es otro número")
}
val tupla = (10, "Scala")
tupla match {
case (10, "Scala") => println("Tupla coincidente")
case _ => println("Tupla no coincidente")
}
val lista = List(1, 2, 3)
lista match {
case Nil => println("Lista vacía")
case head :: tail => println(s"Cabeza: $head, Cola: $tail")
}
Para más información, consulta la documentación oficial de Scala.
Jorge García
Fullstack developer