DATOS :: Reutilizar

Compartir valores constantes con datos :: Alias
Descargar ahora

DATOS :: Reutilizar Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Elizabeth Mattijsen
  • Sitio web del editor:
  • http://search.cpan.org/~elizabeth/

DATOS :: Reutilizar Etiquetas


DATOS :: Reutilizar Descripción

Comparte valores constantes con datos :: Alias Por defecto, PERL no comparte valores literales (0, 'Foo', "Bar"). Esto se debe a que una vez que se almacena un valor literal en variable (un contenedor), se puede cambiar el contenido de ese contenedor. Incluso si tal contenedor está marcado "solo lectura" (por ejemplo, con un módulo como Scalar :: Readonly), no hará que los valores se compartan. Por lo que cada aparición del mismo valor literal tiene su propia ubicación de memoria, incluso si está marcada internamente como read-only.in un mundo ideal, PERL mantendría una copia única de cada valor literal (contenedor) y tendrá todas las ocurrencias en el punto de memoria al mismo contenedor. Una vez que se realiza un intento para cambiar el contenedor, lo haría, hacer una copia del contenedor y poner el nuevo valor allí. Este principio generalmente se conoce como copia en escritura (vaca). Desafortunadamente, PERL no tiene esto a esto en los datos :: Módulo de alias que le permite compartir contenedores entre diferentes variables (entre otras cosas). Pero aún no le permite tener valores literales compartir las mismas ubicaciones de memoria. Data: austriega es un módulo PERL que le permite tener valores fácilmente literales y de solo lectura. Comparte la misma dirección de memoria. Lo que puede ahorrarle mucha memoria cuando está trabajando con grandes estructuras de datos con valores similares. Lo que es especialmente agradable en un entorno MOD_PERL, donde el uso de la memoria de los procesos persistentes es uno de los temas principales ... de curso, no se producirán ahorros de memoria para los valores literales que solo ocurren una vez. Por lo tanto, es importante que utilice la funcionalidad de este módulo con prudencia, solo en valores que espera que se duplique al menos dos veces. HSYNOPSIS Use los datos :: Reutilizar qw (fijación); Fijar mi @array => (0, 1, 2, 3); # Inicializar y fijar mi @filled_array = (0, 1, 2, 3); fijar @filled_array; # Fijar los valores existentes Imprimir \ $ Array == \ $ Llen_Array ? "Compartir memoria \ N": "No comparta la memoria \ n"; Fijar mi% hash => (cero => 0, uno => 1, dos => 2, tres => 3); mi% llenado_hash = (cero => 0, uno => 1, dos => 2, tres => 3); fijación% llenado_hash; Imprimir \ $ hash {cero} == \ $ llink_hash {cero}? "Compartir memoria \ N": "No comparta la memoria \ n"; Usar datos :: Reutilizar QW (Reutilizar); reutilizar mi LISTREF = ; reutilizar mi $ hashref = {cero => 0, uno => 1, dos => 2, tres => 3}; Imprimir \ $ LISTREF -> == \ $ Hashref -> {cero}? "Compartir memoria \ N": "No comparta la memoria \ n"; Usar datos :: Alias ​​QW (alias); Usar datos :: Reutilizar QW (Reutilizar); alias mi @foo = reutilizar (0, 1, 2, 3); Imprimir \ $ foo == \ $ hashref -> {cero}? "Compartir memoria \ N": "No comparta la memoria \ n"; Utilice los datos :: Reutilizar QW (Difusión); Difundir mi% Spread_Hash => Undef, QW (Foo Bar Baz); Imprimir \ $ Spread_Hash {foo} == \ $ Spread_Hash {Bar}? "Compartir memoria \ N": "No comparta la memoria \ n"; Difunde mi @spread_array => 1, 0 .. 3; Imprimir \ $ Spread_Array == \ $ Spread_Array ? "Compartir memoria \ N": "No comparta la memoria \ n"; Usar datos :: Reutilizar QW (Olvídate); olvidar(); # Memoria gratuita utilizada para el seguimiento de los valores constantes Requisitos: · Perl


DATOS :: Reutilizar Software relacionado

filtrante

permite que las pruebas de la unidad se diseñen para los programas de línea de comandos ...

125

Descargar