Διαδρομές
/
Perl
Perl
/
Ασκήσεις
/
Ραντεβού για ομορφιά
Ραντεβού για ομορφιά

Ραντεβού για ομορφιά

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

Εισαγωγή

Πακέτα και Ενότητες

Εισαγωγή

Μια ενότητα συνήθως φορτώνεται με τη λέξη-κλειδί use. Αυτό θα τη φορτώσει και θα καλέσει τη μέθοδο import πάνω της, εισάγοντας τυχόν εξαγόμενα σύμβολα.

Τα σύμβολα στον πίνακα @EXPORT του πακέτου θα εισάγονται από προεπιλογή. Τα σύμβολα στον πίνακα @EXPORT_OK του πακέτου πρέπει να εισάγονται ρητά.

Εξαγωγή

Για να εισαχθεί ένα σύμβολο, πρέπει πρώτα να εξαχθεί. Η ενότητα Exporter παρέχεται μαζί με την Perl και είναι μία από τις πιο βολικές επιλογές για εξαγωγή.

Ορισμός της ενότητας:

package Foo;

use Exporter ('import');
our @EXPORT_OK = ('bar');

sub bar { ... }

Χρήση της ενότητας:

use Foo ('bar');

bar();

Βασικές Ενότητες

Μαζί με την Exporter, η Perl έχει μεγάλη ποικιλία από βασικές ενότητες διαθέσιμες για χρήση. Μερικά παραδείγματα χρήσιμα για ασκήσεις που μπορεί να συναντήσεις εδώ περιλαμβάνουν τα List::Util, Time::Piece και Math::BigRat.

CPAN

Εκτός από τις βασικές ενότητες, το CPAN έχει χιλιάδες επιπλέον ενότητες που έχουν δημιουργηθεί από την κοινότητα της Perl και είναι διαθέσιμες για εγκατάσταση. Η διαδρομή Perl χρησιμοποιεί ένα cpanfile για να εγκαταστήσει μια επιλογή ενοτήτων που μπορούν να χρησιμοποιηθούν με τον Perl test runner του Exercism.

Οδηγίες

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

Έχεις τρεις εργασίες, οι οποίες όλες θα αφορούν ημερομηνίες ραντεβού.

1. Έλεγξε αν ένα ραντεβού έχει ήδη περάσει

Υλοποίησε την υπορουτίνα appointment_has_passed που παίρνει μια συμβολοσειρά ημερομηνίας και ελέγχει αν το ραντεβού ήταν κάποια στιγμή στο παρελθόν:

appointment_has_passed("2019-07-25T13:45:00")
// => true

Οι συμβολοσειρές ημερομηνίας θα δίνονται σε μορφή ημερομηνίας-ώρας ISO 8601: YYYY-mm-ddTHH:MM:SS

Θα χρειαστεί να υλοποιήσεις την ιδιωτική υπορουτίνα _parse_datetime. Σου προτείνονται μερικά module:

  • Time::Piece είναι ένα βασικό module του Perl.
  • DateTime::Tiny είναι διαθέσιμο από το CPAN.

2. Έλεγξε αν το ραντεβού είναι απογευματινό

Υλοποίησε τη συνάρτηση is_afternoon_appointment που παίρνει μια συμβολοσειρά ημερομηνίας και ελέγχει αν το ραντεβού είναι απογευματινό (>= 12:00 και < 18:00):

is_afternoon_appointment("2019-07-25T13:45:00")
// => true

3. Περιγράψε την ώρα και την ημερομηνία του ραντεβού

Υλοποίησε τη συνάρτηση describe_appointment που παίρνει μια συμβολοσειρά ημερομηνίας και επιστρέφει μια περιγραφή αυτής της ημερομηνίας και ώρας:

describe_appointment("2019-07-25T13:45:00")
// => "You have an appointment on 07/25/2019 1:45 PM"

Σημείωσε ότι η ώρα είναι στο εύρος 0-12 και δεν έχει αρχικό μηδενικό ή κενό.

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

Έτοιμος να ξεκινήσεις την άσκηση Ραντεβού για ομορφιά;

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