Tracks
/
Rust
Rust
/
Übungen
/
Widerstandsfarben
Widerstandsfarben

Widerstandsfarben

Lernübung

Einführung

Die meisten Programme hängen von anderen Bibliotheken ab. Sie von Hand zu verwalten, kann ganz schön mühsam sein. Zum Glück ist cargo im Rust-Ökosystem schon standardmäßig dabei! cargo kann die Abhängigkeiten eines Projekts für dich verwalten.

In Rust werden externe Pakete oft als „crates“ bezeichnet. Ein Crate ist eine Kompilierungseinheit in Rust. Ein Crate kann zu einer Binärdatei oder zu einer Bibliothek kompiliert werden.

Meistens reicht es, eine einzige Zeile in deine Cargo.toml-Datei zu schreiben, um eine externe Abhängigkeit hinzuzufügen.

In dieser Übung wurden die Abhängigkeiten enum-iterator und int-enum schon für dich hinzugefügt.

Anleitung

Wenn du etwas mit einem Raspberry Pi bauen möchtest, wirst du wahrscheinlich Widerstände verwenden. Für diese Übung musst du zwei Dinge über sie wissen:

  • Jeder Widerstand hat einen Widerstandswert.
  • Widerstände sind klein, so klein, dass es schwer zu lesen wäre, wenn man den Widerstandswert darauf drucken würde.

Um dieses Problem zu umgehen, drucken Hersteller farbcodierte Ringe auf die Widerstände, um ihre Widerstandswerte anzugeben. Jeder Ring hat eine Position und einen numerischen Wert.

Die ersten 2 Ringe eines Widerstands haben ein einfaches Kodierungsschema: Jede Farbe wird auf eine einzelne Zahl abgebildet.

In dieser Übung erstellst du ein hilfreiches Programm, damit du dir die Werte der Ringe nicht merken musst.

Diese Farben sind wie folgt codiert:

  • Black: 0
  • Brown: 1
  • Red: 2
  • Orange: 3
  • Yellow: 4
  • Green: 5
  • Blue: 6
  • Violet: 7
  • Grey: 8
  • White: 9

Das Ziel dieser Übung ist es, Folgendes zu ermöglichen:

  1. den numerischen Wert zu einem bestimmten Farbring nachschlagen
  2. den numerischen Wert in einen String umwandeln, der die Farbe darstellt
  3. die verschiedenen Farben der Ringe auflisten

Für Aufgabe Nummer eins brauchst du das externe Crate int-enum und für Aufgabe Nummer drei brauchst du enum-iterator. Beide sind bereits in der Cargo.toml dieser Übung enthalten. Schau dir unbedingt die Dokumentation der Crates an, um zu lernen, wie du sie benutzt. Du kannst dir die Standardimplementierung des Debug-Traits für Enums ansehen, um Aufgabe Nummer zwei zu lösen.

Eselsbrücken verknüpfen die Farben mit den Zahlen, die, als Array gespeichert, zufällig auf ihren Index im Array abbilden: Better Be Right Or Your Great Big Values Go Wrong.

Mehr Informationen zur Farbcodierung von Widerständen findest du im Wikipedia-Artikel zum elektronischen Farbcode

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Rust Exercism

Bereit, mit Widerstandsfarben zu starten?

Melde dich bei Exercism an, um Rust mit 99 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.