Στη Rust υπάρχουν δύο διαφορετικές κατηγορίες αριθμών: οι ακέραιοι (οι οποίοι μπορούν να είναι με πρόσημο ή χωρίς πρόσημο) και οι αριθμοί κινητής υποδιαστολής.
Το όνομα ενός αριθμητικού τύπου αποτελείται από δύο μέρη:
Οι παρακάτω συνδυασμοί είναι δυνατοί:
u8, i8
u16, i16
u32, i32, f32
u64, i64, f64
u128, i128
Σημείωσε ότι για τους αριθμούς κινητής υποδιαστολής υπάρχουν μόνο οι εκδόσεις των 32 bit και των 64 bit.
Η 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.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Rust με 99 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.