¿Ya dominas lo básico? Un curso estructurado de Scala es la vía rápida para dar el salto.
Ver cursos de Scala en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (println)
- 03Variables (val y var)
- 04Anotaciones de tipo y tipos básicos
- 05Condicionales (la expresión if)
- 06Repetir (la expresión for)
- 07Escribir tu propia función
- 08Repetir (el bucle while)
- 09Trabajar con listas (List)
- 10Trabajar con diccionarios (Map)
- 11Clases (orientación a objetos)
- 12case class (clases para datos)
- 13Herencia y traits
- 14Pattern matching (la expresión match)
- 15El tipo Option (seguridad frente a null)
- 16Funciones de orden superior: map y filter
- 17object (objetos únicos)
- 18Textos e interpolación de cadenas
- 19for comprehensions (construir colecciones con yield)
- 20[Proyecto] Construye un mini sistema de inventario
Pattern matching (la expresión match)
En esta lección elegirás entre varios casos según el valor de una variable.
valor match { case patrón => resultado } compara el valor con cada patrón de arriba abajo y devuelve el resultado del primero que encaje. El guion bajo _ es el comodín que recoge todo lo demás. Como match es una expresión, su resultado puede asignarse a una variable.
El código de ejemplo traduce un número de día a su nombre y guarda el resultado en un valor.
Visto así parece un switch, pero es bastante más. Los patrones pueden descomponer una case class y sacar sus campos (case Point(x, y) =>), comprobar el tipo, filtrar con una condición añadida (case q if q < 5 =>) o encajar la forma de una lista. Es la herramienta central del lenguaje, no un adorno.
Un detalle práctico: no olvides el caso comodín. Si ningún patrón encaja, Scala lanza una MatchError en tiempo de ejecución. La excepción son los sealed traits, donde el compilador conoce todas las variantes posibles y te avisa al compilar si te has dejado alguna.
🧪 Este sitio no puede compilar ni ejecutar Scala directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
