¿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
[Proyecto] Construye un mini sistema de inventario
En esta lección juntarás todo lo anterior en un programa pequeño pero completo.
Aparecen a la vez varias cosas que ya conoces: una case class para los datos de cada artículo, una función que devuelve el estado, pattern matching con una condición de guarda, una lista inmutable y un for con interpolación para sacar el informe.
El código de ejemplo registra tres artículos y muestra el estado de cada uno.
Merece la pena mirar de cerca la línea case q if q < 5. Ese if dentro del case es una guarda, y permite que el pattern matching no compare solo formas y valores exactos, sino también condiciones. Escrito con if / else if / else ocuparía el doble y se leería peor; aquí los tres casos quedan alineados uno debajo de otro, que es justo cómo se piensa el problema.
Si quieres seguir practicando, prueba a sacar el total de existencias con items.map(_.quantity).sum, o a quedarte solo con los artículos agotados con items.filter(_.quantity == 0). Que ambas cosas salgan en una línea, sin bucles ni variables temporales, es exactamente lo que hace atractivo a Scala para trabajar con datos.
🧪 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).
