Tracks
/
Perl
Perl
/
Übungen
/
Termine für die Schönheit
Termine für die Schönheit

Termine für die Schönheit

Lernübung

Einführung

Pakete und Module

Importieren

Ein Modul wird normalerweise mit dem Schlüsselwort use geladen. Dadurch wird das Modul geladen und die import-Methode darauf aufgerufen, wodurch alle exportierten Symbole importiert werden.

Symbole im @EXPORT-Array des Pakets werden standardmäßig importiert. Symbole im @EXPORT_OK-Array des Pakets müssen explizit importiert werden.

Exportieren

Damit ein Symbol importiert werden kann, muss es zuerst exportiert werden. Das Modul Exporter ist Teil von Perl und eine der bequemsten Möglichkeiten zum Exportieren.

Definieren des Moduls:

package Foo;

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

sub bar { ... }

Verwenden des Moduls:

use Foo ('bar');

bar();

Kernmodule

Neben Exporter bietet Perl eine große Auswahl an Kernmodulen, die du verwenden kannst. Einige nützliche Beispiele für Übungen, auf die du hier stoßen kannst, sind List::Util, Time::Piece und Math::BigRat.

CPAN

Zusätzlich zu den Kernmodulen bietet CPAN Tausende weiterer Module, die von der Perl-Community erstellt wurden und installiert werden können. Der Perl-Track verwendet eine cpanfile, um eine Auswahl von Modulen zu installieren, die mit dem Perl-Test-Runner von Exercism verwendet werden können.

Anleitung

In dieser Übung arbeitest du an einem Terminplaner für einen Schönheitssalon.

Du hast drei Aufgaben, bei denen es jeweils um Termindaten geht.

1. Prüfen, ob ein Termin bereits vorbei ist

Implementiere die Subroutine appointment_has_passed, die einen Datums-String entgegennimmt und prüft, ob der Termin irgendwann in der Vergangenheit lag:

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

Datums-Strings werden im ISO-8601-Format für Datum und Uhrzeit übergeben: YYYY-mm-ddTHH:MM:SS

Du musst die private Subroutine _parse_datetime implementieren. Ein paar Module werden dir empfohlen:

2. Prüfen, ob der Termin am Nachmittag liegt

Implementiere die Funktion is_afternoon_appointment, die einen Datums-String entgegennimmt und prüft, ob der Termin am Nachmittag liegt (>= 12:00 und < 18:00):

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

3. Zeit und Datum des Termins beschreiben

Implementiere die Funktion describe_appointment, die einen Datums-String entgegennimmt und eine Beschreibung dieses Datums und dieser Uhrzeit zurückgibt:

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

Beachte, dass die Stunde im Bereich 0-12 liegt und weder eine führende Null noch ein Leerzeichen hat.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Perl Exercism

Bereit, mit Termine für die Schönheit zu starten?

Melde dich bei Exercism an, um Perl mit 5 Konzepte84 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.