A maioria dos programas tem dependências de algumas bibliotecas. Gerenciá-las manualmente pode ser um incômodo. Felizmente, o ecossistema Rust já vem com o cargo por padrão! O cargo pode gerenciar as dependências de um projeto.
Muitas vezes, você vai ver pacotes externos sendo chamados de "crates" no Rust. Um crate é uma unidade de compilação no Rust. Um crate pode ser compilado em um binário ou em uma biblioteca.
Na maioria das vezes, adicionar uma dependência externa é tão simples quanto adicionar uma linha ao seu arquivo Cargo.toml.
Neste exercício, as dependências enum-iterator e int-enum foram adicionadas para você.
Se você quer construir algo usando um Raspberry Pi, provavelmente vai usar resistores. Para este exercício, você precisa saber duas coisas sobre eles:
Para contornar esse problema, os fabricantes imprimem faixas com códigos de cores nos resistores para indicar seus valores de resistência. Cada faixa tem uma posição e um valor numérico.
As 2 primeiras faixas de um resistor têm um esquema de codificação simples: cada cor corresponde a um único número.
Neste exercício, você vai criar um programa útil para não precisar decorar os valores das faixas.
Essas cores são codificadas da seguinte forma:
O objetivo deste exercício é criar uma forma de:
Para a tarefa número um, você vai precisar do crate externo int-enum e, para a tarefa número três, do enum-iterator.
Os dois já estão incluídos no Cargo.toml deste exercício.
Não deixe de consultar a documentação dos crates para aprender a usá-los.
Você pode dar uma olhada na implementação padrão do trait Debug para Enums para completar a tarefa número dois.
Os mnemônicos associam as cores aos números que, quando armazenados como um array, acabam correspondendo ao índice deles no array: Better Be Right Or Your Great Big Values Go Wrong.
Mais informações sobre a codificação de cores de resistores podem ser encontradas no artigo da Wikipédia sobre código de cores eletrônico
Crie sua conta no Exercism para aprender e dominar Rust com 99 exercícios e mentoria humana de verdade, tudo de graça.