Ha Raspberry Pi segítségével szeretnél valamit é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óddal jelölt sávokat nyomtatnak az ellenállásokra, ezzel jelölve az ellenállásértéküket. Minden sávnak van pozíciója és egy számértéke.
Az ellenállás első két 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.
A színek kódolása a következő:
A feladat célja, hogy létrehozz egy módot arra:
A mnemonikok a színeket a számokhoz rendelik, amelyek tömbben tárolva épp a tömb indexeinek felelnek meg: Better Be Right Or Your Great Big Values Go Wrong.
Az ellenállások színkódolásáról bővebb információt az Electronic color code című Wikipédia-szócikkben találsz.
Ebben a feladatban a színek szintaxisát a c* előtaggal kell definiálnod, például c*black.
Ennek a szintaxisnak az utasítások szerint fordítási időben minden szín megfelelő értékévé kell kiterjednie Fin 10-ként.
Ugyanígy definiálnod kell az összes színérték tömbjének szintaxisát is, a c*all segítségével.
Ehhez a feladathoz valószínűleg notációkra vagy makrókra lesz szükséged. Érdemes lehet megnézned egy referenciát.
Mivel az új szintaxis fordítási időben kerül kifejtésre, minden teszt fordítási hibát adna, hacsak nincs definiálva az összes szükséges szintaxis. Ezért a hagyományos futásidejű tesztek helyett tételekkel ellenőrizzük az összes értéket. Ha egy tétel átmegy a típusellenőrzésen, tekintheted sikeres tesztnek.
Ha helyben vagy Lean online játszóterén dolgozol, azonnali visszajelzést kapsz arról, hogy egy tétel sikerül-e vagy elbukik, és hogy miért bukik el, a Lean InfoView segítségével.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Lean nyelvet 100 feladat segítségével, valódi emberi mentorálással, mindez ingyen.