¿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
Funciones de orden superior: map y filter
En esta lección transformarás una colección entera sin escribir ningún bucle.
filter se queda con los elementos que cumplen una condición y map transforma cada uno. Ambos reciben una función como argumento, y por eso se llaman funciones de orden superior. El guion bajo _ representa «el elemento actual», así que _ * 10 significa «multiplica por diez cada elemento».
El código de ejemplo se queda con los números pares y los multiplica por diez, encadenando las dos operaciones en una sola línea.
Ese _ es lo que más cuesta al principio, porque cambia de significado según el contexto. _ % 2 == 0 es la forma corta de escribir x => x % 2 == 0. Si alguna vez te resulta confuso, escribe la versión larga con el nombre explícito: hace exactamente lo mismo y a veces se lee mejor.
El orden importa y conviene pensarlo: filtrar primero y transformar después significa transformar menos elementos. Con seis números da igual, pero con millones de filas —que es a lo que se dedica Spark, escrito en Scala— esa diferencia es la que separa un cálculo de minutos de uno de horas.
🧪 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).
