Dados :: ReutilizaçãoCompartilhar valores constantes com dados :: Alias | |
Baixe Agora |
Dados :: Reutilização Classificação e resumo
Propaganda
- Licença:
- Perl Artistic License
- Preço:
- FREE
- Nome do editor:
- Elizabeth Mattijsen
- Site do editor:
- http://search.cpan.org/~elizabeth/
Dados :: Reutilização Tag
Dados :: Reutilização Descrição
Compartilhe valores constantes com dados :: Alias Por padrão, a Perl não compartilha valores literais (0, "foo", "bar"). Isso porque uma vez que um valor literal é armazenado em variável (um contêiner), o conteúdo desse contêiner pode ser alterado. Mesmo que tal contêiner esteja marcado como "somente leitura" (por exemplo, com um módulo como escalar :: readonly), ele não fará com que os valores sejam compartilhados. Portanto, cada ocorrência do mesmo valor literal tem seu próprio local de memória, mesmo que seja marcado internamente como read-only.in um mundo ideal, o Perl manteria uma única cópia de cada valor literal (contêiner) e terá todas as ocorrências no ponto de memória para o mesmo recipiente. Quando uma tentativa é feita para alterar o contêiner, o Perl fazia uma cópia do contêiner e colocou o novo valor lá. Este princípio é geralmente referido como cópia-on-write (vaca). Infelizmente, a Perl não tem isso no módulo Data :: Alias que permite compartilhar contêineres entre diferentes variáveis (entre outras coisas). Mas ainda não permite que você tenha valores literais compartilham as mesmas localizações de memória.data ::reuse é um módulo Perl que permite que você tenha facilmente os valores literais e somente leitura compartilham o mesmo endereço de memória. O que pode economizar muita memória quando você estiver trabalhando com grandes estruturas de dados com valores semelhantes. O que é especialmente bom em um ambiente mod_perl, onde o uso de memória de processos persistentes é um dos principais problemas .. de curso, nenhuma economia de memória ocorrerá por valores literais que ocorrem apenas uma vez. Portanto, é importante que você use a funcionalidade deste módulo com sabedoria, apenas em valores que você espera ser duplicado pelo menos duas vezes.synopsis Use dados :: Reutilização QW (Fixate); Fixar meu @array => (0, 1, 2, 3); # inicializar e fixar meu @Fillill_array = (0, 1, 2, 3); Fixate @Fillill_Array; # Fixate valores existentes Imprimir \ $ array == \ $ Cheio_Array ? "Compartilhar memória \ n": "Não compartilhe memória \ n"; fixar meu% hash => (zero => 0, um => 1, dois => 2, três => 3); meu% preenchido_hash = (zero => 0, um => 1, dois => 2, três => 3); Fixate% preenchido_Hash; Imprimir \ $ hash {zero} == \ $ preenchido_hash {zero}? "Compartilhar memória \ n": "Não compartilhe memória \ n"; Use dados :: Reutilização QW (Reutilização); Reutilize meu $ listref = ; Reutilizar meu $ hashref = {zero => 0, um => 1, dois => 2, três => 3}; Imprimir \ $ listref -> == \ $ hashref -> {zero}? "Compartilhar memória \ n": "Não compartilhe memória \ n"; Use dados :: Alias QW (Alias); Use dados :: Reutilização QW (Reutilização); alias meu @foo = reutilização (0, 1, 2, 3); Imprimir \ $ foo == \ $ hashref -> {zero}? "Compartilhar memória \ n": "Não compartilhe memória \ n"; Use dados :: Reutilização QW (Spread); Espalhe meu% Spread_Hash => UNDEF, QW (Foo Bar Baz); Imprimir \ $ spread_hash {foo} == \ $ spread_hash {bar}? "Compartilhar memória \ n": "Não compartilhe memória \ n"; Espalhe meu @spread_array => 1, 0. 3; Imprimir \ $ spread_array == \ $ spread_array ? "Compartilhar memória \ n": "Não compartilhe memória \ n"; Use dados :: Reutilização QW (esqueça); esquecer(); # Memória livre usada para rastrear os requisitos de valores constantes: · Perl.
Dados :: Reutilização Software Relacionado
Texto :: FixedLengthMultiline
Analisar dados de texto formatados em colunas separadas pelo espaço opcionalidade em várias linhas ...
141
filtrounit.
permite que os testes unitários sejam criados para programas de linha de comando ...
125
Purecm Professional.
Purecm é uma ferramenta de controle de controle de versão integrada e defeito. ...
61