Lección 16 / 20

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.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 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).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)