अधिकतर प्रोग्राम कुछ लाइब्रेरी पर निर्भर होते हैं। उन्हें हाथ से संभालना मुश्किल हो सकता है। सौभाग्य से, Rust इकोसिस्टम में cargo मानक रूप से मौजूद है! cargo की मदद से किसी प्रोजेक्ट की निर्भरताएँ संभाली जा सकती हैं।
आप अक्सर देखेंगे कि Rust में बाहरी पैकेजों को "क्रेट" कहा जाता है। क्रेट Rust में कंपाइलेशन की एक इकाई है। किसी क्रेट को बाइनरी या लाइब्रेरी में कंपाइल किया जा सकता है।
ज़्यादातर मामलों में, कोई बाहरी निर्भरता जोड़ना आपकी Cargo.toml फाइल में एक लाइन जोड़ने जितना आसान होता है।
इस अभ्यास में, आपके लिए enum-iterator और int-enum निर्भरताएँ जोड़ी गई हैं।
अगर आप Raspberry Pi की मदद से कुछ बनाना चाहते हैं, तो आपको शायद प्रतिरोधक इस्तेमाल करने पड़ेंगे। इस अभ्यास में आपको इनके बारे में दो बातें जाननी होंगी:
इस समस्या से बचने के लिए निर्माता प्रतिरोधकों पर रंग-कोड वाले बैंड छापते हैं, जो उनके प्रतिरोध की वैल्यू बताते हैं। हर बैंड का एक स्थान होता है और हर बैंड की एक संख्यात्मक वैल्यू होती है।
प्रतिरोधक के पहले 2 बैंडों के लिए एन्कोडिंग बहुत सरल है: हर रंग एक ही संख्या से जुड़ा होता है।
इस अभ्यास में आप एक ऐसा प्रोग्राम बनाएँगे जो आपकी मदद करेगा, ताकि आपको बैंडों की वैल्यू याद न रखनी पड़े।
इन रंगों का कोड इस तरह है:
इस अभ्यास का उद्देश्य एक ऐसा तरीका बनाना है जिससे आप:
पहले काम के लिए आपको बाहरी क्रेट int-enum चाहिए होगा, और तीसरे काम के लिए enum-iterator चाहिए होगा।
ये दोनों इस अभ्यास की Cargo.toml में पहले से शामिल हैं।
इन क्रेटों को इस्तेमाल करना सीखने के लिए उनका डॉक्यूमेंटेशन ज़रूर देखिए।
दूसरा काम पूरा करने के लिए आप Enums के लिए Debug trait के डिफ़ॉल्ट इम्प्लीमेंटेशन को देख सकते हैं।
याद रखने की तरकीबें रंगों को इन संख्याओं से जोड़ती हैं, और इन रंगों को किसी ऐरे में रखने पर ये संख्याएँ संयोग से ऐरे में उनके इंडेक्स के बराबर होती हैं: Better Be Right Or Your Great Big Values Go Wrong.
प्रतिरोधकों की रंग एन्कोडिंग के बारे में ज़्यादा जानकारी Electronic color code पर विकिपीडिया का लेख में मिल सकती है