DADOS :: Overlay.

Mesclar / dados de sobreposição com alterações compostas
Baixe Agora

DADOS :: Overlay. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Brad Bowman
  • Site do editor:
  • http://search.cpan.org/~bowmanbs/

DADOS :: Overlay. Tag


DADOS :: Overlay. Descrição

Data :: Overlay é um módulo Perl que pode ser usado para aplicar um grupo de alterações (também chamado de sobreposição) para uma estrutura de dados, não destrutivamente, retornando uma cópia rasa-ish com as alterações aplicadas. "Raso-ish" significa cópias rasas em cada nível ao longo do caminho das mudanças mais profundas. $ Result = Sobreposição ($ Original, $ Sobreposição); O algoritmo anda a estrutura de sobreposição, ou a obtenção de valores a partir dela, ou quando nada mudou, mantendo os valores da estrutura de dados original. Isso significa que a única sobreposição totalmente percorrida. Quando a sobreposição não usa nenhum dado especial :: Teclas de sobreposição (que começam com "="), então o resultado será a incorporação do original e da sobreposição, com o sobreposição de precedência. Em particular, apenas os hashes serão realmente mesclados, um pouco como% novo = (falhas,% opções), mas recursivamente. Isso significa que o array refs, escalares, código, etc. será substituído o que for no original, independentemente do tipo original (então uma matriz na sobreposição terá precedência sobre uma matriz, hash ou escalar no original). É por isso que não é chamado de dados :: Underlay. Qualquer comportamento de mesclagem diferente precisa ser marcado com chaves especiais na sobreposição chamada "Ações". Estes começam com um sinal "=". (Dobre-o na sobreposição para ter um líder real "=" no resultado). As ações são descritas abaixo, mas eles combinam o original e o sobreposição de várias maneiras, empurrando / desembolsando arrays, apenas sobrescrevendo false ou indefinido, até fornecer a capacidade de escrever sua própria chamada Callback.Synopsis #! Perl -s #line 31 Use rigoroso ; use avisos; Use dados :: Overlay QW (sobreposição compor); Use dados :: dumper; $ Data :: Dumper :: sortkeys = 1; my $ data_structure = {a => 123, b => {w => , x => "olá", y => \ "world",}, c => , d => {DA => [], db => undef, dc => qr / abc /},}; My% muda = (f => 0, # Adicionar tecla de nível superior a => '1, 2, 3', # Sobrescrever chave b => {z => '!'}, # operação aninhada c => {'= unshift '=> 3.5}, # Prepare o array c => {' = push '=> 7}, # Append array d => {da => , # Substitua com tipo diferente DB => {' = Defor '=> 123, # Apenas atualizar se Undef},},); # Aplicar% Alterações para $ Data_structure (OK somente leitura), # Retornando uma nova estrutura de dados Compartilhando dados inalterados com a antiga Minha $ new_data_struture = Overlay ($ data_structure, \% muda); # Observação Compartilhamento mostrado pelo dumper dumper ($ data_structure, \% muda, $ new_data_strutura); homepage do produto


DADOS :: Overlay. Software Relacionado