Text :: Makros.

ein objektorientierter Text-Makro-Motor
Jetzt downloaden

Text :: Makros. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Name des Herausgebers:
  • John Douglas Porter
  • Website des Verlags:
  • http://search.cpan.org/~jdporter/

Text :: Makros. Stichworte


Text :: Makros. Beschreibung

Ein objektorientierter Text-Makro-Motor Text :: macros.pm ist ein perl objektorientierter Text Makro-Engine.Typische Verwendung könnte so aussehen: My $ Template = $ account_num); # Erstellen Sie einen Makro-Expander: mein $ macro_expander = text :: macros-> neu ("\ q ]"); # Erweitern Sie die Makros in der Vorlage: My $ Email_text = $ macro_expander-> expand_macros ($ data_object, $ -vorlage); Um dies zu unterstützen, müsste ein "Datenobjekt" vorhanden sein, das Methoden definieren müsste, die als Makro verwendet werden müssten Namen, zB wie folgt: Paket Rekordobjekt; Sub-EmpfängerEmail {$ _ -> {'EmpfängerMail'}} Sub SenderEmail {$ _ -> {'senderemail'}} Sub AccountNum {$ _ -> {'AccountNum'}} sub EmpfängerName {$ _ -> {'EmpfängerName'}}} SUBE POWARAMOUNT {$ _ -> {'pageAmount'}}} Sub DaysPastDue {$ _ -> {'dayspastue'}} Alternativ können die Daten Objektklasse kann möglicherweise per Autoload definiert sein, beispielsweise so: Paket RecordObject; suboload {mein $ self = schalte; mein $ name = $ autoload; $ Name = ~ S /.* :: //; $ self -> {$ name}} Wenn dies der Fall ist, sollte der Makro-Expander angeblich angeregt werden, nicht zu behaupten, dass die auf dem Objekt befindlichen Makro-Namen für das Objekt gültig sind - da möglicherweise fehlschlagen können, obwohl die Anrufe von ausfallen können Autoload Führen Sie dazu einen echten Wert für den dritten Wert an den Konstruktor an: My $ macro_expander = text :: macros-> neu ("\ q ] ", 1); Makros können Argumente annehmen. Alle Zeichenfolgen, die nach dem Makronamen im Makrotext auftreten, werden als Argumente zum Makro-Methodenaufruf weitergeleitet. Standardmäßig werden der Makro-Name und alle Argumente alle von Newlines getrennt. Sie können dieses Verhalten außer Kraft setzen. Siehe die Dokumentation von parse_args, unten .synopsisuseext :: macros; # poetic: mein $ macro_expander = neuer text :: macros qw ({{}}); $ Text = expand_macros $ macro_expander $ Data_Object, $ Text; # laut: $ macro_expander = text :: macros-> neu ("\ q ]", 1); drucken $ macro_expander-> expand_macros ($ data_object, $ text); Anforderungen: · Perl.


Text :: Makros. Zugehörige Software