In Rust esistono due categorie diverse di numeri: i numeri interi (che possono essere con segno o senza segno) e i numeri in virgola mobile.
Il nome di un tipo numerico è composto da due parti:
Le seguenti combinazioni sono possibili:
u8, i8
u16, i16
u32, i32, f32
u64, i64, f64
u128, i128
Nota che per i numeri in virgola mobile esistono solo le varianti a 32 bit e a 64 bit.
Rust non effettua alcuna conversione implicita di tipo.
Questo significa che, se devi trasformare un tipo numerico in un altro, devi farlo in modo esplicito.
Quando converti da un tipo più grande a uno più piccolo (ad esempio da u64 a u32), potresti perdere dati.
Convertire un numero in virgola mobile in un intero perderà tutto ciò che sta dopo il separatore decimale, arrotondando di fatto per difetto.
In questo esercizio scriverai codice per analizzare la produzione di una catena di montaggio in una fabbrica di automobili. La velocità della catena di montaggio può variare da 0 (spenta) a 10 (massima).
Alla sua velocità più bassa (1), vengono prodotte 221 automobili ogni ora. La produzione aumenta in modo lineare con la velocità. Quindi con la velocità impostata a 4, dovrebbe produrre 4 * 221 = 884 automobili all'ora. Tuttavia, le velocità più alte aumentano la probabilità che vengano prodotte automobili difettose, che poi devono essere scartate. La tabella seguente mostra come la velocità influisce sul tasso di successo:
1 a 4: tasso di successo del 100%.5 a 8: tasso di successo del 90%.9 e 10: tasso di successo del 77%.Hai due compiti.
Implementa un metodo per calcolare il tasso di produzione per ora della catena di montaggio, tenendo conto del suo tasso di successo:
assembly_line::production_rate_per_hour(6)
// Returns: 1193.4
Nota che il valore restituito è un f64.
Implementa un metodo per calcolare quante automobili funzionanti vengono prodotte al minuto:
assembly_line::working_items_per_minute(6)
// Returns: 19
Nota che il valore restituito è un u32.
Iscriviti a Exercism per imparare e padroneggiare Rust con 99 esercizi e il mentoring di persone reali, tutto gratis.