Was ist der typische Ansatz für die benutzerdefinierte Initialisierung bestimmter Attribute bei der Verwendung von Moose?Moose-Attribut-Initialisierung
Zum Beispiel: Angenommen ich nehme zwei Daten im String-Format als Eingabe in meine Klasse:
has startdate => (is => 'ro', isa => 'Str', required => 1);
has enddate => (is => 'ro', isa => 'Str');
Diese Daten als Strings kommen, aber ich brauche sie in einem bestimmten Datumsformat (ISO8601) formatieren, ohne Moose würde ich sie einfach in new()
initialisieren, aber ich bin unsicher mit Elch.
Es scheint, dass die praktikablen Optionen aus dem Lesen der Dokumente sind in BUILDARGS
, BUILD
oder mit Zwang. Welche davon wäre am besten geeignet, da ich eine Funktion habe, die ein Datum nehmen und es richtig formatiert zurückgeben kann?
Danke, das ist nur die Art der Lösung, die ich bestanden hatte gehofft. –
Meine Typen :: XSD verfügt über eine integrierte Einschränkung des Datums. Hier ist [ein Beispiel aus einer Zeichenkette] (https://gist.github.com/tobyink/9280334). Der Typ ist parametrisierbar, so dass Sie Typabhängigkeiten wie 'Date [minInclusive => '1970-01-01']' verwenden können. – tobyink
@tobyink Das ist wirklich cool, ich werde definitiv diesen Weg gehen, es scheint der flexibelste zu sein, ohne dass ich etwas aufgebaut habe. –