Οι αριθμοί στη Clojure περιλαμβάνουν:
-6, 0, 1, 25, 976 και 500000.-2.4, 0.1, 3.14, 16.984025 και 1024.0.Δύο συνηθισμένοι αριθμητικοί τύποι είναι ο int και ο float. Ο int είναι ένας ακέραιος 32 bit και ο float είναι ένας αριθμός κινητής υποδιαστολής 64 bit.
Η αριθμητική γίνεται με τους τυπικούς αριθμητικούς τελεστές. Οι αριθμοί μπορούν να συγκριθούν με τους τυπικούς τελεστές σύγκρισης αριθμών (>, <, <=, >=), τον τελεστή ισότητας (=) και τον τελεστή ανισότητας (not=).
Σε αυτή την άσκηση πρέπει να εκτελέσεις λογική υπό συνθήκη. Ένας συνηθισμένος τρόπος για να το κάνεις αυτό στη Clojure είναι να χρησιμοποιήσεις το cond:
(cond (= x 5) "Expression to evaluate when x equals 5"
(> x 7) "Expression to evaluate when x is greater than 7"
:else "Expression to evaluate in all other cases")
Ο τελεστής == μπορεί να είναι προτιμότερος από τον = σε ορισμένες περιπτώσεις, όπου οι αριθμοί πρέπει να συγκριθούν ανεξάρτητα από τον ακριβή τύπο τους. Για παράδειγμα,
(== 5.0 5) ;; true as both numbers are equal when type is ignored
(= 5.0 5) ;; false as the types of numbers are also taken into account here i.e. float is different from int
Ο οδηγός της Clojure για την ισότητα, και συγκεκριμένα η ενότητα για τους αριθμούς, αναφέρει περισσότερες λεπτομέρειες.
Σε αυτή την άσκηση θα γράψεις κώδικα για να αναλύσεις την παραγωγή μιας γραμμής συναρμολόγησης σε ένα εργοστάσιο αυτοκινήτων. Η ταχύτητα της γραμμής συναρμολόγησης μπορεί να κυμαίνεται από 0 (σβηστή) έως 10 (μέγιστη).
Στη χαμηλότερη ταχύτητά της (1), παράγονται 221 αυτοκίνητα την ώρα. Η παραγωγή αυξάνεται γραμμικά με την ταχύτητα. Έτσι, με την ταχύτητα ρυθμισμένη στο 4, θα πρέπει να παράγει 4 * 221 = 884 αυτοκίνητα την ώρα. Ωστόσο, οι υψηλότερες ταχύτητες αυξάνουν την πιθανότητα να παραχθούν ελαττωματικά αυτοκίνητα, τα οποία στη συνέχεια πρέπει να απορριφθούν. Ο παρακάτω πίνακας δείχνει πώς η ταχύτητα επηρεάζει το ποσοστό επιτυχίας:
0: ποσοστό επιτυχίας 0%.1 έως 4: ποσοστό επιτυχίας 100%.5 έως 8: ποσοστό επιτυχίας 90%.9: ποσοστό επιτυχίας 80%.10: ποσοστό επιτυχίας 77%.Έχεις δύο εργασίες.
Υλοποίησε τη συνάρτηση production-rate για να υπολογίσεις τον ρυθμό παραγωγής της γραμμής συναρμολόγησης ανά ώρα, λαμβάνοντας υπόψη το ποσοστό επιτυχίας της:
(production-rate 6)
;;=> 1193.4
Σημείωσε ότι η τιμή που επιστρέφεται είναι double.
Υλοποίησε τη συνάρτηση working-items για να υπολογίσεις πόσα λειτουργικά αυτοκίνητα παράγονται ανά λεπτό:
(working-items 6)
;;=> 19
Σημείωσε ότι η τιμή που επιστρέφεται είναι int.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Clojure με 12 έννοιες105 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.