A maioria dos programas tem dependências de algumas bibliotecas. Gerir essas dependências à mão pode ser penoso. Felizmente, o ecossistema Rust vem de série com o cargo! Com o cargo, é possível gerir as dependências de um projeto.
Em Rust, vais ver frequentemente pacotes externos a serem chamados "crates". Um crate é uma unidade de compilação em Rust. Um crate pode ser compilado para um binário ou para uma biblioteca.
Na maior parte dos casos, adicionar uma dependência externa é tão simples como acrescentar uma linha ao teu ficheiro Cargo.toml.
Neste exercício, as dependências enum-iterator e int-enum foram adicionadas para ti.
Se queres construir algo com um Raspberry Pi, provavelmente vais usar resistências. Neste exercício, precisas de saber duas coisas sobre elas:
Para contornar este problema, os fabricantes imprimem faixas com código de cores nas resistências para indicar os seus valores de resistência. Cada faixa tem uma posição e um valor numérico.
As duas primeiras faixas de uma resistência têm um esquema de codificação simples: cada cor corresponde a um único número.
Neste exercício vais criar um programa útil, para não precisares de memorizar os valores das faixas.
Estas cores estão codificadas da seguinte forma:
O objetivo deste exercício é criar uma forma de:
Para a tarefa número um, vais precisar da crate externa int-enum e, para a tarefa número três, vais precisar da enum-iterator.
Ambas já estão incluídas no Cargo.toml deste exercício.
Certifica-te de que consultas a documentação das crates para aprenderes a usá-las.
Podes consultar a implementação por omissão da trait Debug para Enums para completares a tarefa número dois.
As mnemónicas associam as cores aos números que, quando guardados num array, acabam por corresponder ao seu índice no array: Better Be Right Or Your Great Big Values Go Wrong.
Podes encontrar mais informação sobre a codificação de cores das resistências no artigo da Wikipédia sobre o código de cores eletrónico.
Inscreve-te no Exercism para aprenderes e dominares Rust com 99 exercícios, e mentoria humana real, tudo grátis.