A legtöbb program függ valamilyen külső könyvtártól. Ezeket kézzel kezelni igazi szenvedés lehet. Szerencsére a Rust ökoszisztémája alapból tartalmazza a cargo-t! A cargo segítségével egy projekt függőségeit is kezelheted.
A Rustban gyakran találkozhatsz azzal, hogy a külső csomagokat „crate”-nek hívják. A crate a Rustban egy fordítási egység. Egy crate lefordítható bináris programmá vagy könyvtárrá.
A legtöbbször elég egyetlen sort hozzáadnod a Cargo.toml fájlhoz, hogy felvégy egy külső függőséget.
Ebben a feladatban a enum-iterator és az int-enum függőségeket előre hozzáadtuk neked.
Ha valamit egy Raspberry Pi segítségével szeretnél építeni, valószínűleg ellenállásokat fogsz használni. Ehhez a feladathoz két dolgot kell tudnod róluk:
Hogy ezt a problémát megkerüljék, a gyártók színkódolt sávokat nyomtatnak az ellenállásokra, amelyek jelölik az ellenállásértéküket. Minden sávnak van pozíciója és egy numerikus értéke.
Az ellenállás első 2 sávja egyszerű kódolási sémát követ: minden szín egyetlen számhoz rendelődik.
Ebben a feladatban egy hasznos programot fogsz készíteni, hogy ne kelljen megjegyezned a sávok értékeit.
Ezek a színek a következőképpen vannak kódolva:
A feladat célja, hogy létrehozz egy módot arra, hogy:
Az első részfeladathoz szükséged lesz a külső int-enum crate-re, a harmadik részfeladathoz pedig az enum-iterator crate-re.
Mindkettő már szerepel a feladat Cargo.toml fájljában.
Feltétlenül nézd meg a crate-ek dokumentációját, hogy megtanuld használni őket.
A második részfeladat megoldásához megnézheted a Debug trait alapértelmezett implementációját az enumokhoz.
A mnemonikák a színeket a számokhoz rendelik, amelyek, ha tömbként tároljuk őket, épp a tömb indexeinek felelnek meg: Better Be Right Or Your Great Big Values Go Wrong.
A rezisztorok színkódolásáról további információkat az elektronikus színkódról szóló Wikipédia-szócikk oldalon találsz.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Rust nyelvet 99 feladat segítségével, valódi emberi mentorálással, mindez ingyen.