Krawatte :: ListkeyedHash.

Krawatte :: ListkeyEdHash ist ein System, das den Einsatz anonymer Arrays als Schlüssel an einen Hash ermöglicht.
Jetzt downloaden

Krawatte :: ListkeyedHash. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Benjamin Franz
  • Website des Verlags:
  • http://www.nihongo.org/snowhare/utilities/ftpweblog/

Krawatte :: ListkeyedHash. Stichworte


Krawatte :: ListkeyedHash. Beschreibung

Tie :: ListKeyedHash ist ein System, die Verwendung von anonymen Arrays als Schlüssel zu einem Hash ermöglicht. Tie :: ListKeyedHash ist ein System, das die Verwendung von anonymen Arrays als Schlüssel zu einer hash.SYNOPSIS Verwendung Tie :: ListKeyedHash; tie% hash 'Tie :: ListKeyedHash'; my $ live_key = ; $ Hash {$ live_key} = 'Hallo!'; $ Hash {} = 'Auf Wiedersehen!'; print $ hash {}, "n"; $ Hash löschen {$ live_key}; mein @liste = keys% {$ hash {}}; drucken "@listn"; untie% hash; Alternativ Tasten sind zugänglich wie: $ hash { Schlüssel, Artikel, live} = Hallo, (eine nackte Liste / Array für den Schlüssel anstatt eine Anon Liste / Array-Referenz) .Aber dass verlangsamt die Zugriffe um rund 10% und kann nicht für Schlüssel, dass ein Konflikt mit dem Wert des $ verwendet werden; Sonder variable.Also verwendbar über die put Objekt Interface-Methoden, get, existiert, Löschen, klar. Die Objekt-Schnittstelle ist etwa 2x so schnell wie die gebunden interface.Tie :: ListKeyedHash Beziehungen ein Hash, so dass Sie einen Verweis auf ein Array als Schlüssel des Hash verwenden können. Es verhält sich ansonsten genau wie ein normaler Hash (einschließlich aller Einsprüche über versucht, einen Schlüssel sowohl als Hashreferenz und einen skalaren Wert zu verwenden) .Dieses befreit Sie von zu müssen fest verdrahten Hashreferenzen im Code oder mit zu schreiben Baum-Traversal-Code erreichen beliebige Punkte in einer Hash-tree.Example: ######################## # / usr / bin / perl use strict; Warnungen verwenden; Verwenden Sie Daten :: Dumper; verwenden Tie :: ListKeyedHash; my% Beispiel; Krawatte (% Beispiel 'Tie :: ListKeyedHash'); % Beispiel = ( 'a' => { 'b0' => { 'c' => 'Wert von c', 'd' => 'Wert von d', 'e' => { 'f' => ' Wert von f,}}, 'b1' => { 'g' => 'Wert von g',}}, 'h' => 'R',); my $ b_key = ; my $ d_key = ; my $ d = $ Beispiel {$ d_key}; drucken "d $ dn ="; my $ e_key = ; my $ e = $ Beispiel {$ e_key}; drucken 'e ='. Dumper ($ e); my $ FKT_T = ; my $ f = $ Beispiel {$ FKT_T}; drucken "f = $ fn"; my $ h_key = ; my $ h = $ Beispiel {$ h_key}; drucken "h = $ hn"; ######################## Die Vorzüge dieser besonderen Art und Weise des Zugriffs auf Hash-of-Hashes (HOH) vs nackten verdrahteten derefererences oder 'tree kriechenden' sind wie folgt: 1) da die Anzahl der Stufen in einem HoH zunimmt, wird das gebundene Objekt nähert sich asymptotisch die Geschwindigkeit fest verdrahteter Hash dereferenzierenden ohne Verlust an Flexibilität Strafe in Höhe von mit den Tasten in dem Code in advance.This gibt eine wichtige Eigenschaft, dass es fest zu verdrahten wird schneller, je tiefer ein HoH wird als mit der Geschwindigkeit der Software angetrieben Baumes verglichen traveral.So Sie beliebig strukturierte HoH bauen und den Zugang und Zugriff noch tief Elemente in dem Baum quickly.2 begraben) das Format zur Verwendung Speicher entwickelt wurde effizient. Es dauert nur ein paar hundert zusätzliche Bytes über die Größe eines ungebundenen HoH im Speicher oder wenn serialisiert (via Data :: Dumper oder Storable zum Beispiel), unabhängig davon, wie tief die Hash-is.3) Ein Verweis auf eine bestehende HoH geführt werden kann in Tie :: ListKeyedHash-> neu und alle der OO Schlüssellisten zugreifen Methoden werden nur Arbeit. Beispiel: Verwendung Tie :: ListKeyedHash; my% hash = ( 'a' => { 'b' => 'c'}); my $ obj = Tie :: ListKeyedHash-> new (% hash); my $ b_Value = $ obj-> get (); Anforderungen: · Perl.


Krawatte :: ListkeyedHash. Zugehörige Software