Texte :: macros

Un moteur macro-macro orienté orienté objet
Télécharger maintenant

Texte :: macros Classement & Résumé

Publicité

  • Rating:
  • Licence:
  • Perl Artistic License
  • Nom de l'éditeur:
  • John Douglas Porter
  • Site Internet de l'éditeur:
  • http://search.cpan.org/~jdporter/

Texte :: macros Mots clés


Texte :: macros La description

Un moteur macro-macro orienté orienté objet Texte :: macros.pm est un moteur de macro moteur orienté objet Perl. L'utilisation du type peut ressembler à ceci: My $ Modèle = $ compte_num); # faire un expandeur macro: ma $ macro_expander = Texte :: macros-> nouvelle ("\ Q ]"); # Développez les macros dans le modèle: My $ e-mail_text = $ macro_expander-> expand_macros ($ data_Object, $ modèle); pour en soutenir, un "objet de données" devrait exister qui devrait définir des méthodes qui seront utilisées comme macro noms, par exemple Comme ceci: dossier d'emballage; Sous-destinataireTemail {$ _ -> {'contestationTemail'}} sub Senderemail {$ _ -> {'Senderemail'}} Sous-comptadnum {$ _ -> {'COMPTEnum'}} Sous-destinataireName {$ _ -> {'récipientname'}} Sous-paiementAmount {$ _ -> {'PaiementAmount'}} SUB DAYPASTDUE {$ _ -> {'JOURSPASTDUE'}} Sinon, les données La classe d'objet peut avoir une autorisation automatique définie, par exemple comme celle-ci: Forfait RecordObject; Sub Autoload {My $ Self = Shift; mon nom $ = $ autoload; $ nom = ~ s /.* :: //; $ auto -> {$ nom}} Si tel est le cas, l'expandeur macro doit être indiqué de ne pas affirmer que les noms de macro rencontrés sont valables pour l'objet - car on peut échouer, même si les appels seront manipulés par AutoLoad. Pour ce faire, passez une valeur réelle pour la troisième valeur au constructeur: My $ macro_expander = Text :: macros-> nouvelle ("\ Q ]", 1); les macros peuvent prendre des arguments. Toute chaîne qui se produit à l'intérieur du texte macro après que le nom de la macro sera transmis comme des arguments à l'appel de la méthode macro. Par défaut, le nom de la macro et les arguments sont tous séparés par les nouvelles lignes. Vous pouvez remplacer ce comportement; Voir la documentation de parse_args, ci-dessous.Synopsisiseuse Texte :: macros; # poétique: mon $ macro_expander = nouveau texte :: macros qw ({{}}); $ text = expand_macros $ macro_expander $ data_Object, $ texte; # bruyant: $ macro_expander = text :: macros-> nouvelle ("\ q ]", 1); Imprimer $ macro_expander-> expand_macros ($ data_Object, $ texte); Exigences: · Perl


Texte :: macros Logiciels associés