Σινεφίλ

Σινεφίλ

Άσκηση εκμάθησης

Εισαγωγή

Ο τριαδικός τελεστής

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

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

condition ? true_branch : false_branch

Ο κώδικας στην αριστερή πλευρά του ? είναι η συνθήκη και ο κώδικας στα δεξιά του περιέχει τους δύο πιθανούς κλάδους, χωρισμένους με το :. Αν η συνθήκη είναι αληθής, εκτελείται ο κώδικας στην αριστερή πλευρά του :. Αν η συνθήκη είναι ψευδής, τότε εκτελείται ο κώδικας στα δεξιά του :.

Για παράδειγμα:

if traffic_light == 'green'
  cross_the_road
else
  wait
end

μπορεί να ξαναγραφτεί ως:

traffic_light == 'green' ? cross_the_road : wait

Οδηγίες

Σε αυτή την άσκηση θα φτιάξεις τους κανόνες για την ιστοσελίδα ενός κινηματογράφου.

1. Έλεγξε αν ένας θεατής δικαιούται την έκπτωση τρίτης ηλικίας

Ο κινηματογράφος προσφέρει έκπτωση για τις "συντάξεις γήρατος". Όποιος είναι 60 ετών ή μεγαλύτερος πληρώνει 10.00 για εισιτήριο. Όποιος είναι μικρότερος πληρώνει το πλήρες ποσό των 15.00.

Γράψε τη μέθοδο Moviegoer#ticket_price χρησιμοποιώντας μια τριαδική εντολή.

Moviegoer.new(21).ticket_price
#=> 15

Moviegoer.new(65).ticket_price
#=> 10

2. Έλεγξε αν ένας θεατής επιτρέπεται να δει τρομακτικές ταινίες

Ο κινηματογράφος έχει ένα απλοποιημένο σύστημα επαλήθευσης ηλικίας. Αν είσαι 18 ή μεγαλύτερος, μπορείς να δεις τρομακτικές ταινίες. Αν είσαι μικρότερος, δεν μπορείς.

Υλοποίησε τη μέθοδο Moviegoer#watch_scary_movie?. Θα πρέπει να επιστρέφει αν κάποιος επιτρέπεται να δει την ταινία ή όχι.

Moviegoer.new(21).watch_scary_movie?
#=> true

Moviegoer.new(17).watch_scary_movie?
#=> false

3. Έλεγξε αν ένας θεατής δικαιούται δωρεάν ποπ κορν

Ο κινηματογράφος έχει ένα πρόγραμμα Movie Club. Τα μέλη παίρνουν δωρεάν ποπ κορν όταν δουν οποιαδήποτε ταινία.

Υλοποίησε τη μέθοδο Moviegoer.claim_free_popcorn!. Αν ο θεατής είναι μέλος του Movie Club, θα πρέπει να ανταμείβεται με το δωρεάν ποπ κορν του. Αν δεν είναι, η μέθοδος θα πρέπει να πετάει την εξαίρεση UnsupportedOperation που ορίζεται στην αρχή του κώδικα.

Moviegoer.new(21, member: true).claim_free_popcorn!
#=> 🍿

Moviegoer.new(17, member: false).claim_free_popcorn!
#=> Exception was raised! (NotMovieClubMemberError)
Note

Σε αυτή την άσκηση, αναμένεται να ορίσεις την εξαίρεση UnsupportedOperation για μια συγκεκριμένη εμβέλεια.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Ruby Exercism

Έτοιμος να ξεκινήσεις την άσκηση Σινεφίλ;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Ruby με 21 έννοιες121 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.