Swift Ternary υπό όρους χειριστής (με παραδείγματα)

Σε αυτό το άρθρο, θα μάθετε να χρησιμοποιείτε υπό όρους ή τριμερή χειριστή για να αλλάξετε τη ροή ελέγχου του προγράμματος.

Ο τρισδιάστατος τελεστής υπό όρους "? :"είναι συντομογραφία για δήλωση if-else.

Η σύνταξη για τον τριμερή υπό όρους τελεστή είναι:

κατάσταση ? τιμή1: τιμή2

Πώς λειτουργεί ο τρίτος υπό όρους χειριστής;

Δείτε πώς λειτουργεί

  • Εάν η συνθήκη είναι αληθής, επιστρέφει την τιμή1.
  • Εάν η συνθήκη είναι ψευδής, επιστρέφει την τιμή2.

Ο παραπάνω ισοδύναμος κωδικός χρησιμοποιώντας εάν - αλλιώς είναι:

 εάν συνθήκη (τιμή1) άλλο (τιμή2)

Γιατί να χρησιμοποιήσετε τον τριμερή υπό όρους χειριστή;

Ίσως αναρωτιέστε γιατί πρέπει να χρησιμοποιήσουμε τον τελεστή υπό όρους εάν κάνει την ίδια δουλειά με τη δήλωση if-else. Ο κύριος σκοπός της χρήσης του είναι να κάνει τον κώδικα μικρότερο και πιο ευανάγνωστο.

Για απλές συνθήκες, μπορείτε να το αξιολογήσετε σε μία γραμμή με λιγότερο κωδικό από το if-else.

Παράδειγμα 1: Απλό παράδειγμα με χρήση τρισδιάστατου υπό όρους τελεστή

 print(true && false ? "The condition is true": "The condition is false")

Ο παραπάνω ισοδύναμος κωδικός χρησιμοποιώντας εάν - αλλιώς είναι:

 if true && false ( print("The condition is true") ) else ( print("The condition is false") ) 

Όταν εκτελείτε το παραπάνω πρόγραμμα, η έξοδος θα είναι:

 Η συνθήκη είναι λανθασμένη

Στο παραπάνω πρόγραμμα, η έκφραση true && falseαξιολογείται false, επομένως η δήλωση επιστρέφει τη συμβολοσειρά Η συνθήκη είναι ψευδής και η εκτύπωση εκτύπωσης εξάγει τη συμβολοσειρά στην κονσόλα.

Εάν αλλάξετε την παράσταση καθώς true || falseη δήλωση αξιολογεί trueκαι επιστρέφει τη συμβολοσειρά Η συνθήκη είναι αληθής και η ένδειξη εκτύπωσης εξάγει τη συμβολοσειρά στην κονσόλα.

Πράγματα που πρέπει να θυμάστε

Ο χειριστής Ternary υπό όρους μπορεί επίσης να χρησιμοποιηθεί ως εναλλακτική λύση της if-else-ifδήλωσης.

Με τη χρήση τρισδιάστατου υπό όρους χειριστή μπορείτε να αντικαταστήσετε πολλές γραμμές if-else-ifκώδικα με μία μόνο γραμμή.

Ωστόσο, μπορεί να μην είναι καλή ιδέα.

Παράδειγμα 2: Ένθετο εάν αλλιώς χρησιμοποιεί τριμερή υπό όρους τελεστή

 if true && false ( print("Result is (true && false)") ) else if true || false ( print("Result is (true || false)") ) else if false || false ( print("Result is (false || false)") ) else ( print("Default else statement") ) 

Ο παραπάνω ισοδύναμος κωδικός που χρησιμοποιεί τριμερή υπό όρους τελεστή είναι:

 print(true && false ? "Result is (true && false)" : true || false ? "Result is (true || false)" : false || false ? "Result is (false || false)" : "The condition is unknown")

Όταν εκτελείτε τα παραπάνω προγράμματα, και οι δύο έξοδοι θα είναι:

 Το αποτέλεσμα είναι αλήθεια

Στα παραπάνω προγράμματα, αν και οι δηλώσεις του if-else-ifαντικαθίστανται με μία γραμμή με τη χρήση του υπό όρους χειριστή. Η έκφραση που χρησιμοποιείται στον τριμερή υπό όρους τελεστή είναι πραγματικά δύσκολο να κατανοηθεί.

Επομένως, απλώς ακολουθήστε τη χρήση τρισδιάστατου υπό όρους τελεστή ως εναλλακτική της if-elseδήλωσης μόνο.

ενδιαφέροντα άρθρα...