Klasse :: Besucher.

Besucher- und Iterator-Erweiterungen in der Klasse :: Vorlage
Jetzt downloaden

Klasse :: Besucher. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Ken MacLeod
  • Website des Verlags:
  • http://search.cpan.org/~kmacleod/

Klasse :: Besucher. Stichworte


Klasse :: Besucher. Beschreibung

Besucher- und Iteratorerweiterungen in der Klasse :: Vorlage Klasse :: Besucher ist ein Perl-Modul, das die von der Klasse :: Vorlage für die Klasse bereitgestellte Getter- / Setter-Funktionen erweitert, indem Methoden für die Verwendung der Konstruktionsmuster des Besuchers und der Iterator definiert werden. Alle Iterator-Methoden werden von der Klasse :: iter, außer iter.class ist der Name der neuen Klasse, super die Superklasse dieser Klasse (wird @Isa definiert), und die Vorlage ist wie in der Klasse :: Vorlage. $ Obj -iter> Gibt einen neuen Iterator für dieses Objekt zurück. Wenn das Elternteil, ein Array und der Index nicht definiert sind, wird der neue Iterator als Root-Objekt behandelt. Außer wie aus der Klasse geerbt: ITER oder wie unten definiert, Methoden für $ ITER und $ OBJ funktionieren gleich. Die akzeptierten Methoden verursachen einen Rückruf an $ Besucher mit $ selbst als das erste Argument plus den Rest der angenommenen Argumente. Dies wird implementiert, wie: Sub akzeptiert {mein $ self = shift; meine $ Besucher = Schicht; $ Besucher-> visit_mayclass ($ self, @_); } Kinder_ACCECT-Anrufe akzeptieren in jedem Objekt im Feld Array-Feld mit dem Namen Inhalt. Kinder_ACCECT_ArrayMember tut dasselbe für ArrayMember. Die Annahme von Methoden an Iteratoren ruft immer die Verwendung von Iteratoren an. Anruf an der Annahme an Nicht-Iteratoren ruft mit Nicht-Iteratoren zurück. Letztere ist wesentlich schneller.Push- und Pop-Act wie ihre jeweiligen Array-Funktionen.Es_String Gibt die verketteten Skalarwerte des Feldfelds mit dem Namen des Array-Felds zurück, möglicherweise von $ Context modifiziert. ArrayMember_AS_String tut dasselbe für ArrayMember.Visitor verarbeitet Skalare speziell für Kinder_accept und AS_String. Im Falle von kinder_accept erstellt Besucher einen Iterator in der Klasse-Klasse :: Skalar :: ITER mit der Skalare als Delegat. In den Fall von AS_String verwendet der Besucher die Zeichenfolge, es sei denn, $ CONTEXT -> {cdata_mapper} ist definiert, In diesem Fall gibt es das Ergebnis des Aufrufs der CDATA_MAPPER-Subroutine mit dem Skalar und den verbleibenden Argumenten zurück. Die eigentliche Implementierung lautet: {$ context -> {cdata_mapper}} ($ scalar, @_); Synopsis verwenden Klasse :: Besucher; Visitor_Class 'Klasse', 'super', {Template}; Visitor_Class 'Klasse', 'super', ; $ obj = Klasse-> Neue (); $ iter = $ obj-> iter; $ iter = $ obj-> iter ($ Eltern, $ Array, $ Index); $ obj-> akzeptieren ($ Besucher, ...); $ obj-> kinder_accept ($ Besucher, ...); $ obj-> kinder_accept_arraymember ($ Besucher, ...); $ obj-> push_arraymember ($ variage ); $ value = $ obj-> pop_arraymember; $ obj-> as_string (]); $ obj-> arraymember_as_string (]); $ ITER erbt Folgendes von Klasse: ITER: $ iter-> Elternteil; $ iter-> is_iter; $ iter-> wurzel; $ iter-> Wurzelpath; $ iter-> nächstes; $ iter-> at_end; $ iter-> delegate; $ iter-> is_same ($ obj); Anforderungen: · Perl.


Klasse :: Besucher. Zugehörige Software