La mayoría de los programas tienen dependencias de algunas bibliotecas. Gestionarlas a mano puede ser un engorro. Por suerte, el ecosistema de Rust viene de serie con cargo. cargo puede gestionar las dependencias de un proyecto.
En Rust verás a menudo que los paquetes externos se denominan «crates». Un crate es una unidad de compilación en Rust. Un crate se puede compilar en un binario o en una biblioteca.
La mayoría de las veces, añadir una dependencia externa es tan sencillo como añadir una línea a tu archivo Cargo.toml.
En este ejercicio, ya se han añadido para ti las dependencias enum-iterator e int-enum.
Si quieres construir algo con una Raspberry Pi, probablemente utilices resistencias. Para este ejercicio, necesitas saber dos cosas sobre ellas:
Para solucionar este problema, los fabricantes imprimen bandas codificadas por colores en las resistencias para indicar su valor de resistencia. Cada banda tiene una posición y un valor numérico.
Las 2 primeras bandas de una resistencia tienen un esquema de codificación simple: cada color se corresponde con un único número.
En este ejercicio vas a crear un programa útil para no tener que recordar los valores de las bandas.
Estos colores se codifican de la siguiente manera:
El objetivo de este ejercicio es crear una forma de:
Para la tarea número uno, necesitarás el crate externo int-enum y, para la tarea número tres, necesitarás enum-iterator.
Ambos ya están incluidos en el Cargo.toml de este ejercicio.
Asegúrate de consultar la documentación de los crates para aprender a usarlos.
Puedes echar un vistazo a la implementación por defecto del trait Debug para los enum para completar la tarea número dos.
Las reglas mnemotécnicas asocian los colores a los números que, cuando se almacenan en un array, coinciden con su índice en dicho array: Better Be Right Or Your Great Big Values Go Wrong.
Puedes encontrar más información sobre la codificación de colores de las resistencias en el artículo de Wikipedia sobre el código de colores electrónico
Regístrate en Exercism para aprender y dominar Rust con 99 ejercicios y mentoría humana real, todo gratis.