Lección 20 / 20

[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 cuatro cosas que ya conoces: un enum para los estados posibles, un struct para los datos de cada artículo, una función que decide el estado a partir de la cantidad y un match que traduce ese estado a un texto legible.

El código de ejemplo registra tres artículos y saca un informe con el estado de cada uno. Fíjate en que report recibe &Vec<Item>, una referencia: el informe solo lee la lista, así que no necesita quedarse con su propiedad.

Merece la pena ver por qué el estado es un enum y no un texto suelto. Con cadenas, escribir "Con existencia" en vez de "Con existencias" compila igual y falla en silencio. Con un enum, cualquier variante mal escrita es un error de compilación, y si mañana añades Reservado, el compilador te señala todos los match que hay que completar.

Esa es, en resumen, la propuesta de Rust: se escribe más despacio que en Python, porque el compilador discute contigo cada decisión, y a cambio la clase de fallos que en otros lenguajes aparecen de madrugada en producción aquí ya no llegan a compilar.

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

🧪 Este sitio no puede compilar ni ejecutar Rust 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)