ο τριαδικός (ή υποθετικός) χειριστής θα αξιολογήσει μια έκφραση και θα επιστρέψει μία τιμή αν είναι αληθής και μια άλλη τιμή εάν είναι ψευδής. Είναι λίγο σαν μια δήλωση σύντομης, συμπαγής αν.
Ruby's τριμερής φορέας έχει τις χρήσεις του, αλλά είναι επίσης λίγο αμφιλεγόμενο.
Παράδειγμα τριμερούς φορέα
Ας δούμε αυτό το παράδειγμα:
Εδώ, ο υποκείμενος χειριστής χρησιμοποιείται για την επιλογή μεταξύ δύο χορδών. Ολόκληρη η έκφραση χειριστή είναι όλα, συμπεριλαμβανομένου του υπό όρους, του ερωτηματικού, των δύο συμβολοσειρών και του παχέος εντέρου. Η γενική μορφή αυτής της έκφρασης έχει ως εξής: υποθετικός? Σωστό Λάθος.
Εάν η υπό όρους έκφραση είναι αληθής, τότε ο χειριστής θα αξιολογήσει ως την πραγματική έκφραση. Διαφορετικά, θα αξιολογηθεί ως ψευδή έκφραση. Σε αυτό το παράδειγμα, είναι σε παρενθέσεις, οπότε δεν παρεμβαίνει στους χειριστές συσύνδεσης string που το περιβάλλουν.
Για να το θέσουμε με άλλο τρόπο, ο υπό όρους χειριστής είναι σαν ένα αν δήλωση. Να θυμάστε ότι αν δηλώσεις στο Ruby να αξιολογηθεί στην τελευταία τιμή του μπλοκ που εκτελείται. Έτσι, θα μπορούσατε να ξαναγράψετε το προηγούμενο παράδειγμα έτσι όπως:
Αυτός ο κώδικας είναι λειτουργικά ισοδύναμος και ίσως λίγο πιο κατανοητός. Αν Εγώ είναι μεγαλύτερη από 10, το αν η ίδια η δήλωση θα αξιολογηθεί στη συμβολοσειρά "μεγαλύτερη από" ή θα αξιολογηθεί στη συμβολοσειρά "λιγότερο από ή ισούται με. "Αυτό είναι το ίδιο πράγμα που κάνει και ο τριμελής φορέας, μόνο ο τριμερής χειριστής είναι περισσότερο συμπαγής.
Χρήσεις για τον Τερματικό Χειριστή
Λοιπόν, ποιες χρήσεις έχει ο τριμελής φορέας εκμετάλλευσης; Έχει χρήσεις, αλλά δεν υπάρχουν πολλοί, και θα μπορούσατε να πάρετε μαζί σας χωρίς να το κάνετε.
Συνήθως χρησιμοποιείται για να πετάξει σε τιμές όπου οι προϋποθέσεις θα είναι πολύ ογκώδεις. Χρησιμοποιείται επίσης σε μεταβλητή ανάθεση για γρήγορη επιλογή μεταξύ δύο τιμών.
Εδώ είναι δύο συνήθεις περιπτώσεις χρήσης που θα δείτε για τον τριμελή φορέα:
Μπορεί να έχετε παρατηρήσει ότι αυτό φαίνεται αρκετά un-Ruby. Οι σύνθετες εκφράσεις απλά δεν ανήκουν σε μία γραμμή στο Ruby - είναι συνήθως χωρισμένες και ευκολότερες στην ανάγνωση. Ωστόσο, θα δείτε αυτόν τον παροχέα, και μπορεί να χρησιμοποιηθεί αποτελεσματικά χωρίς να ξεπεραστεί.
Ένας κανόνας που πρέπει να ακολουθήσετε είναι ότι εάν χρησιμοποιείτε αυτόν τον χειριστή για να επιλέξετε μεταξύ δύο τιμών με απλό όρους, είναι εντάξει να το χρησιμοποιήσετε. Εάν κάνετε κάτι πιο περίπλοκο, θα πρέπει πιθανώς να χρησιμοποιήσετε ένα αν δήλωση αντ 'αυτού.