Τα περισσότερα προγράμματα εξαρτώνται από κάποιες βιβλιοθήκες. Το να τις διαχειρίζεσαι με το χέρι μπορεί να γίνει μπελάς. Ευτυχώς, το οικοσύστημα της Rust περιλαμβάνει από προεπιλογή το cargo! Το cargo μπορεί να διαχειριστεί τις εξαρτήσεις ενός έργου.
Στη Rust θα δεις συχνά εξωτερικά πακέτα να αναφέρονται ως "crates". Ένα crate είναι μια μονάδα μεταγλώττισης στη Rust. Ένα crate μπορεί να μεταγλωττιστεί σε εκτελέσιμο ή σε βιβλιοθήκη.
Τις περισσότερες φορές, το να προσθέσεις μια εξωτερική εξάρτηση είναι τόσο απλό όσο το να προσθέσεις μια γραμμή στο αρχείο Cargo.toml σου.
Σε αυτή την άσκηση, οι εξαρτήσεις enum-iterator και int-enum έχουν προστεθεί για σένα.
Αν θέλεις να φτιάξεις κάτι με ένα Raspberry Pi, μάλλον θα χρειαστείς αντιστάσεις. Για αυτή την άσκηση, πρέπει να ξέρεις δύο πράγματα γι' αυτές:
Για να ξεπεράσουν αυτό το πρόβλημα, οι κατασκευαστές τυπώνουν πάνω στις αντιστάσεις χρωματικά κωδικοποιημένες ζώνες που δηλώνουν την τιμή αντίστασής τους. Κάθε ζώνη έχει μια θέση και μια αριθμητική τιμή.
Οι δύο πρώτες ζώνες μιας αντίστασης έχουν ένα απλό σχήμα κωδικοποίησης: κάθε χρώμα αντιστοιχεί σε έναν μόνο αριθμό.
Σε αυτή την άσκηση θα φτιάξεις ένα χρήσιμο πρόγραμμα, ώστε να μη χρειάζεται να θυμάσαι τις τιμές των ζωνών.
Αυτά τα χρώματα κωδικοποιούνται ως εξής:
Ο στόχος αυτής της άσκησης είναι να φτιάξεις έναν τρόπο για να:
Για το πρώτο σκέλος, θα χρειαστείς το εξωτερικό crate int-enum και για το τρίτο σκέλος, θα χρειαστείς το enum-iterator.
Και τα δύο περιλαμβάνονται ήδη στο Cargo.toml αυτής της άσκησης.
Φρόντισε να δεις την τεκμηρίωση των crate για να μάθεις πώς να τα χρησιμοποιείς.
Μπορείς να δεις την προεπιλεγμένη υλοποίηση του Debug trait για τα Enum, για να ολοκληρώσεις το δεύτερο σκέλος.
Οι μνημονικοί κανόνες αντιστοιχίζουν τα χρώματα στους αριθμούς, οι οποίοι, όταν αποθηκεύονται σε έναν πίνακα, τυχαίνει να αντιστοιχούν στη θέση τους μέσα στον πίνακα: Better Be Right Or Your Great Big Values Go Wrong.
Περισσότερες πληροφορίες για την κωδικοποίηση χρώματος των αντιστάσεων θα βρεις στο άρθρο της Wikipedia για τον ηλεκτρονικό χρωματικό κώδικα
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Rust με 99 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.