Gegevens :: transformator

TRAVEREN VAN EEN GEGEVENSSTRUCTUUR, waarbij deze op zijn plaats verandert
Download nu

Gegevens :: transformator Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Baldur Kristinsson
  • Uitgever website:
  • http://search.cpan.org/~baldur/Cache-BerkeleyDB-0.03/lib/Cache/BerkeleyDB.pm

Gegevens :: transformator Tags


Gegevens :: transformator Beschrijving

Een gegevensstructuur doorkruisen, het op zijn plaats veranderen Gegevens :: Transformator is een PERL-module om een gegevensstructuur te doorkruisen, het in plaats. Synopsis Gebruik Data :: Transformer; # A: Eenvoudig gebruik: # Trim extra witspace van normale snaren in TA. mijn $ trim = sub {lokaal ($ _) = verschuiving; $$ _ = ~ s / ^ s * //; $$ _ = ~ s / s * $ //; }; mijn $ t = gegevens :: transformator-> nieuw (normaal => $ trim); $ t-> traverse (ta); # B: Complexer gebruik: # (A) Hoofdletters Alle sleutels in alle hashes in $ Gegevens # en (b) Converteer alle arrays naar hashes: mijn $ UC_HASH = sub {My $ H = Shift; mijn @KEYS = toetsen% H; foreach (@keys) {mijn $ UC = UC ($ _); Als ($ UC NE $ _! bestaat ($ H -> {$ UC}))) {$ H -> {$ UC} = $ H -> {$ _}; Verwijder $ H -> {$ _}; } Elsif ($ UC NE $ _) {Die "Bad Key $ _: '$ UC' bestaat al"; }}}; mijn $ ar_conv = sub {mijn% h = @ {$ _ }; RETURN SUB {\% H}; }; My $ T = Data :: Transformer-> NIEUW (HASH => $ UC_HASH, ARRAY => $ AR_CONV, NODE_LIMIT => 500_000); EVAL {$ T-> Traverse ($ Gegevens)}; waarschuwen "kon de transformatie niet voltooien: $ @" als $ @; # C: niet-destructieve traversal # Je hoeft eigenlijk niets te veranderen ... mijn $ size = 0; Mijn $ T = Data :: Transformer-> Nieuw (normaal => sub {$ size + = lengte ($ {$ _ })}, hash => sub {$ size + = lengte ($ _) voor sleutels% { $ _ }},); mijn $ knooppunten = $ t-> tranverse (ta); Print "Aantal knooppunten: $ knooppunten ", afdrukken" Grootte van toetsen + waarden: $ maat "; # D: Objecten in een gegevensstructuur # beïnvloeden objecten met behulp van de klasnaam als een sleutel: My $ T = Data :: Transformer-> Nieuw ('My :: Class' => Sub {shift-> set_foo (' bar ')}); vereisten: · Perl


Gegevens :: transformator Gerelateerde software