Rust में संख्याओं की दो अलग-अलग श्रेणियाँ होती हैं: पूर्णांक (जो चिह्नित या अचिह्नित हो सकते हैं) और दशमलव संख्याएँ।
किसी संख्यात्मक टाइप के नाम में दो हिस्से होते हैं:
निम्नलिखित संयोजन संभव हैं:
u8, i8
u16, i16
u32, i32, f32
u64, i64, f64
u128, i128
ध्यान दीजिए कि दशमलव संख्याओं के लिए केवल 32-बिट और 64-बिट वेरिएंट ही होते हैं।
Rust कोई भी अंतर्निहित टाइप रूपांतरण नहीं करता।
इसका मतलब है कि अगर आपको एक संख्यात्मक टाइप को दूसरे में बदलना है, तो आपको यह स्पष्ट रूप से करना होगा।
जब आप बड़े टाइप से छोटे टाइप में बदलते हैं (जैसे u64 से u32), तो डेटा खो सकता है।
दशमलव संख्या से पूर्णांक में बदलने पर दशमलव बिंदु के बाद का सब कुछ ज़रूर खो जाता है, यानी संख्या नीचे की ओर पूर्णांकित हो जाती है।
इस अभ्यास में आप एक कार फैक्ट्री की असेंबली लाइन के उत्पादन का विश्लेषण करने के लिए कोड लिखेंगे। असेंबली लाइन की गति 0 (बंद) से 10 (अधिकतम) तक हो सकती है।
अपनी सबसे कम गति (1) पर यह हर घंटे 221 कारें बनाती है। गति बढ़ने पर उत्पादन भी रैखिक रूप से बढ़ता है। इसलिए जब गति 4 पर सेट हो, तो उसे हर घंटे 4 * 221 = 884 कारें बनानी चाहिए। लेकिन तेज़ गति से खराब कारें बनने की संभावना बढ़ जाती है, जिन्हें फिर हटाना पड़ता है। नीचे दी गई तालिका दिखाती है कि गति सफलता दर को कैसे प्रभावित करती है:
1 से 4: 100% सफलता दर।5 से 8: 90% सफलता दर।9 और 10: 77% सफलता दर।आपके पास दो काम हैं।
असेंबली लाइन की प्रति घंटा उत्पादन दर निकालने के लिए एक मेथड बनाइए, जिसमें उसकी सफलता दर का ध्यान रखा जाए:
assembly_line::production_rate_per_hour(6)
// Returns: 1193.4
ध्यान दें कि लौटाई गई वैल्यू एक f64 है।
एक मेथड बनाइए जो गणना करे कि प्रति मिनट कितनी कार्यशील कारें बनती हैं:
assembly_line::working_items_per_minute(6)
// Returns: 19
ध्यान दें कि लौटाई गई वैल्यू एक u32 है।