Klasse :: bezoeker

Bezoekers- en iteratorextensies naar Klasse :: Sjabloon
Download nu

Klasse :: bezoeker Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Ken MacLeod
  • Uitgever website:
  • http://search.cpan.org/~kmacleod/

Klasse :: bezoeker Tags


Klasse :: bezoeker Beschrijving

Bezoekers- en iteratorextensies naar Klasse :: Sjabloon Klasse :: Bezoeker is een Perl-module die de Getter / Setter-functies verlengt die wordt verstrekt door Klasse :: Sjabloon voor de les door methoden te definiëren voor het gebruik van de Patronen van het Bezoeker en iteratorontwerp. Alle iteratormethoden worden geërfd van klasse :: iter behalve iter.class is de naam van de nieuwe klasse, super de superklasse van deze klasse (zal @isa definiëren) en Sjabloon is zoals gedefinieerd in de klasse :: Template. $ Obj - Teruggave> Retourneert een nieuwe iterator voor dit object. Als ouder, array en index niet worden gedefinieerd, wordt de nieuwe iterator behandeld als het root-object. Behalve zoals geërfd van klasse :: ITER of zoals hieronder gedefinieerd, werken methoden voor $ ITER en $ OBJ hetzelfde. De acceptatiemethoden veroorzaken een terugbellen naar $ bezoeker met $ zelf als het eerste argument plus de rest van de argumenten gepasseerd om te accepteren. Dit wordt geïmplementeerd als: sub accepteer {mijn $ zelf = verschuiving; mijn $ bezoeker = verschuiving; $ bezoeker-> visit_myclass ($ self, @_); } Kinderen_Accept gesprekken accepteren op elk object in het veld Array met de naam Inhoud. Kinderen_Accept_arraymember doet hetzelfde voor arraymember. Accepteer methoden op iterators belt altijd terug met behulp van iterators. Bellen accepteren op niet-iterators roept terug met behulp van niet-iterators. Dit laatste is aanzienlijk sneller. Push en POP-daad zoals hun respectieve arrayfuncties.as_string retourneert de aaneengeschakelde scalaire waarden van de array-veld met de naam inhoud, mogelijk gewijzigd door $ context. ArrayMember_AS_String doet hetzelfde voor ArrayMember.visors handgrepen Scalars speciaal voor kinderen_acept en as_string. In het geval van kinderen_Accept, zal Bezoeker een iterator in de klasse Klasse :: Scalar :: ITER met de Scalar als Delegate. In het geval van AS_String zal Bezoeker de tekenreeks gebruiken, tenzij $ Context -> {CDATA_MAPPER} is gedefinieerd, In dat geval retourneert het het resultaat van het bellen van de CDATA_MAPPER-subroutine met de scalaire en de resterende argumenten. De daadwerkelijke implementatie is: {$ context -> {CDATA_MAPPER}} ($ Scalar, @_); Synopsis Gebruik Klasse :: Bezoeker; visitor_class 'class', 'super', {sjabloon}; visitor_class 'klas', 'super', ; $ obj = class-> nieuw (); $ iter = $ $ obj-> iter; $ iter = $ obj-> iter ($ ouder, $ array, $ index); $ obj-> accepteren ($ bezoeker, ...); $ OBJ-> Kinderen_Accept ($ Bezoeker, ...); $ OBJ-> Kinderen_Accept_arraymember ($ bezoeker, ...); $ OBJ-> Push_arrayMember ($ VALUE ); $ VALUE = $ OBJ-> POP_ARRAYMINT; $ obj-> as_string (]); $ OBJ-> ArrayMember_AS_String (]); $ iter erft het volgende uit de klas :: iter: $ iter-> ouder; $ iter-> is_iter; $ Iter-> wortel; $ iter-> rootpath; $ Iter-> volgende; $ Iter-> at_end; $ Iter-> delegeren; $ Iter-> is_same ($ obj); Vereisten: · Perl


Klasse :: bezoeker Gerelateerde software