A Rustban két különböző számkategória létezik: az egész számok (amelyek előjelesek vagy előjel nélküliek lehetnek) és a lebegőpontos számok.
Egy numerikus típus neve két részből áll:
A következő kombinációk lehetségesek:
u8, i8
u16, i16
u32, i32, f32
u64, i64, f64
u128, i128
Ne feledd, hogy lebegőpontos számokhoz csak 32 bites és 64 bites változat létezik.
A Rust nem végez automatikus típuskonverziót.
Ez azt jelenti, hogy ha az egyik numerikus típust egy másikká kell alakítanod, azt neked kell explicit módon megtenned.
Amikor egy nagyobb típusról egy kisebbre konvertálsz (például u64-ről u32-re), adatot veszíthetsz.
Ha lebegőpontos számot egész számmá alakítasz, a tizedesjel mögötti rész mindenképpen elveszik, ami gyakorlatilag lefelé kerekítést jelent.
Ebben a feladatban egy autógyár összeszerelő sorának termelését elemző kódot írsz. Az összeszerelő sor sebessége 0 (kikapcsolva) és 10 (maximum) között mozoghat.
A legkisebb sebességen (1) óránként 221 autó készül. A termelés a sebességgel lineárisan nő. Ha tehát a sebesség 4, akkor óránként 4 * 221 = 884 autót kell gyártania. A nagyobb sebesség viszont növeli annak esélyét, hogy hibás autók készülnek, amelyeket aztán ki kell dobni. Az alábbi táblázat megmutatja, hogyan befolyásolja a sebesség a sikerességi arányt:
1-től 4-ig: 100%-os sikerességi arány.5-től 8-ig: 90%-os sikerességi arány.9 és 10 esetén: 77%-os sikerességi arány.Két részfeladat vár rád.
Valósíts meg egy metódust, amely kiszámítja az összeszerelő sor óránkénti termelési rátáját, figyelembe véve a sikerességi arányt:
assembly_line::production_rate_per_hour(6)
// Returns: 1193.4
Ügyelj rá, hogy a visszaadott érték f64.
Valósíts meg egy metódust, amely kiszámítja, hogy percenként hány működő autó készül:
assembly_line::working_items_per_minute(6)
// Returns: 19
Ügyelj rá, hogy a visszaadott érték u32.
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.