Tangram :: Complicity.

Tangram :: Complicity ist ein Perl-Tutorial, wie er tangramfreundliche Klassen erstellt.
Jetzt downloaden

Tangram :: Complicity. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Sam Vilain
  • Website des Verlags:
  • http://search.cpan.org/~samv/

Tangram :: Complicity. Stichworte


Tangram :: Complicity. Beschreibung

Tangram :: Complicity ist ein Perl-Tutorial, wie man tangramfreundliche Klassen erstellt. Tangram :: Complicity ist ein Perl-Tutorial, wie man tangramfreundliche Klassen erstellt.Synopsis-Paket YourNastyxsclass; sub px_freeze {return ; } sub px_thaw {meine $ class = schalte; mein $ self = $ class-> neu (@_); } 1; Tangram :: Complicity existiert nicht. Um die Dinge schlimmer zu machen, ist es nicht einmal umgesetzt. Diese Seite ist eine große Fixme für den Code, auf den sie sich bezieht. Diese Seite dokumentiert lediglich die API, dass die Klassen implementieren muss, um sicher von Tangram :: Type :: dump :: flatten.note zu speichern , daher ist es notwendig, dass der im Rückführwert verwendete Referenztyp derselbe wie der in dem echten Objekt genutzt wird. Dies wird später unter "Reftype Mismatch" erläutert. So - zum Beispiel, für Set :: Objektobjekte, die eine px_freeze-Methode haben: sub px_freeze {mein $ self = shift; $ selbst-> Mitglieder zurückgeben; } sub px_thaw {meine $ class = schalte; Rückgabe $ class-> neu (@_); } Im Wesentlichen bedeutet die PX_FREEDE-Methode "Marshall selbst zu reiner Perl-Datentypen". Beachten Sie, dass unterschiedliche Serialisierungswerkzeuge Bindungen, Überlastung und Magie auf der Struktur auf ihrer eigenen Art behandeln werden. Erstellen Sie also Ihre eigene Art von Magie (A la Pixie :: Info), wenn Sie wirklich Out-of-Band-Informationen abhängen möchten sie.reftype dismatatchIf Sie erhalten einen RefTrotpe-Mismatch-Fehler, es liegt daran, dass Ihre Funktion Ihrer IHRECLASS-> PX_THAW-Funktion eine andere Art von Referenz zurückgibt als die, die an Ihren Class-> PX_FREERE übergeben wurde. Diese Einschränkung gilt nur für den Rückgabewert des Konstruktor PX_Thawa, also ist dies normalerweise in Ordnung. Der Rückgabewert von px_freeze wird unabhängig von ihrem Return-Typ in einem (gesegnen) Container des richtigen Referenztyps eingewickelt. Ihre Funktion wird als:% {$ Object} =% {yourclass-> px_thaw (@icicle)} aufgerufen; @ {$ object} = @ {yourclass-> px_thaw (@icicle)}; $ {$ object} = $ {yourclass-> px_thaw (@icicle)}; * {$ object} = * {yourclass-> px_thaw (@icicle)}; mein $ tmp = yourclass-> px_thaw (@icicle); $ object = Sub {GOTO $ TMP}; Dies ist eine Analogie, zum Beispiel wird kein temporärer Objekt im Skalargehäuse verwendet. Aufgrund der Verwendung von Krawatten. Der Grund dafür ist, Kreis- und Rückenreferenzen in der Datenstruktur zu ermöglichen; Diese Referenzen, die zurückweisen, zeigen auf das echte gesegnete Objekt, um den Overhead eines Zweipassalgorithmus zu vermeiden, wird diese Einschränkung vorgenommen. Deshalb wird der Wert in storable_thaw als $ _ weitergeleitet. Für die meisten Menschen wird es keinen Unterschied gemacht. Wie immer ist es, dass er den unangenehmen Nebeneffekt hat, dass Serialisierer, die nicht alle Arten von reinen Perl-Datenstrukturen (z. B. alle aktuellen Versionen von YAML) verarbeiten können, nicht in der Lage sind, gesegnet zu speichern Skalare (z. B. Set :: Object's). Anforderungen: · Perl.


Tangram :: Complicity. Zugehörige Software