La plupart des programmes dépendent de certaines bibliothèques. Les gérer à la main peut vite devenir pénible. Heureusement, l'écosystème Rust est livré en standard avec cargo ! cargo peut gérer les dépendances d'un projet.
On voit souvent des paquets externes désignés sous le nom de « crates » en Rust. Un crate est une unité de compilation en Rust. Un crate peut être compilé en binaire ou en bibliothèque.
La plupart du temps, ajouter une dépendance externe se résume à ajouter une ligne à ton fichier Cargo.toml.
Dans cet exercice, les dépendances enum-iterator et int-enum ont été ajoutées pour toi.
Si tu veux construire quelque chose avec un Raspberry Pi, tu utiliseras probablement des résistances. Pour cet exercice, tu dois savoir deux choses à leur sujet :
Pour contourner ce problème, les fabricants impriment des bandes de couleur sur les résistances pour indiquer leur valeur de résistance. Chaque bande a une position et une valeur numérique.
Les 2 premières bandes d'une résistance suivent un schéma d'encodage simple : chaque couleur correspond à un seul nombre.
Dans cet exercice, tu vas créer un programme bien utile pour ne pas avoir à mémoriser les valeurs des bandes.
Ces couleurs sont encodées comme suit :
L'objectif de cet exercice est de créer un moyen de :
Pour la tâche numéro un, tu auras besoin du crate externe int-enum et pour la tâche numéro trois, tu auras besoin d'enum-iterator.
Ils sont déjà tous les deux inclus dans le Cargo.toml de cet exercice.
N'oublie pas de consulter la documentation de ces crates pour apprendre à les utiliser.
Tu peux t'intéresser à l'implémentation par défaut du trait Debug pour les enums afin de réaliser la tâche numéro deux.
Les moyens mnémotechniques associent les couleurs aux nombres qui, une fois stockés dans un tableau, se trouvent correspondre à leur indice dans ce tableau : Better Be Right Or Your Great Big Values Go Wrong.
Tu trouveras plus d'informations sur le codage des couleurs des résistances dans l'article Wikipédia sur le code de couleurs électronique
Inscris-toi sur Exercism pour apprendre et maîtriser Rust avec 99 exercices, et un vrai mentorat humain, le tout gratuitement.