Gegevens :: Overlay

Gegevens samenvoegen / overlay met componeerbare wijzigingen
Download nu

Gegevens :: Overlay Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Brad Bowman
  • Uitgever website:
  • http://search.cpan.org/~bowmanbs/

Gegevens :: Overlay Tags


Gegevens :: Overlay Beschrijving

Gegevens :: Overlay is een PERL-module die kan worden gebruikt om een groep wijzigingen toe te passen (ook een overlay genoemd) aan een gegevensstructuur, niet-destructief, waardoor een ondiepe ish-kopie wordt teruggebracht met de toegepaste wijzigingen. "Ondiepe-ish" betekent ondiepe kopieën op elk niveau langs het pad van de diepere veranderingen. $ resultaat = overlay ($ Original, $ overlay); Het algoritme loopt de overlay-structuur, ofwel waarden van het nemen, of wanneer er niets is gewijzigd, behoudt u de waarden van de oorspronkelijke gegevensstructuur. Dit betekent dat de enige de overlay volledig doorkruist. Wanneer de overlay geen speciale gegevens gebruikt :: Overlay-sleutels (degenen die beginnen met "="), dan is het resultaat de fusie van het origineel en de overlay, met de Overlay die voorrang heeft. In het bijzonder zullen alleen hashes worden samengevoegd, enigszins als% nieuw = (fouten,% opties), maar recursief. Dit betekent dat array Refs, Scalars, Code, etc. zal vervangen, wat er in het origineel is, ongeacht het originele type (dus een array in de overlay zal voorrang hebben over een array, hash of scalair in het origineel). Daarom wordt het niet-gegevens genoemd :: underlay.any verschillende fuserende gedrag moet worden gemarkeerd met speciale sleutels in de overlay genaamd "Acties". Deze start met een "=" -teken. (Dubbel het in de overlay om een daadwerkelijke toonaangevende "=" in het resultaat te hebben). De acties worden hieronder beschreven, maar ze combineren het origineel en overlay op verschillende manieren, duwen / niet-aanwijzing van arrays, alleen het overschrijven of ongedefinieerd, tot het verstrekken van het vermogen om uw eigen combinatie callback te schrijven. Synopsis #! Perl -s # 31 BRENG ; gebruik waarschuwingen; Gebruik gegevens :: Overlay QW (Overlay Compose); Gebruik gegevens :: Dumper; $ Gegevens :: Dumper :: SortKeys = 1; Mijn $ Data_Structure = {A => 123, B => {w => , x => "hallo", y => \ "World",}, c => , d => {da => [], db => undef, dc => qr / abc /},}; Mijn% wijzigingen = (f => 0, # TOEPLAATSELE KEY A => '1, 2, 3', # Overschrijf Key B => {z => '!'}, # geneste bediening C => {'= Unshift '=> 3.5}, # Prepend array c => {' = push '=> 7}, # Apprijk array d => {da => , # Vervang w / verschillend type db => {' = Defor '=> 123, # alleen bijwerken als UNDEF},},); # Pas% wijzigingen toe aan $ Data_Structure (alleen-lezen OK), # Terugkerende een nieuwe gegevensstructuur die ongewijzigd gegevens delen met de oude My $ New_Data_Structure = Overlay ($ Data_Structure, \% wijzigingen); # Opmerking Delen weergegeven door Dumper Print Dumper ($ Data_Structure, \% wijzigingen, $ new_data_structure); Homepage van het product


Gegevens :: Overlay Gerelateerde software