Ate :: hash :: Cayered

Extensión Perl para valores de hash Capas
Descargar ahora

Ate :: hash :: Cayered Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Simon Wistow
  • Sitio web del editor:
  • http://search.cpan.org/~simonw/

Ate :: hash :: Cayered Etiquetas


Ate :: hash :: Cayered Descripción

Extensión Perl para valores de hash Capas TIE :: Hash :: Cayered es un módulo PERL que le permite colocar hashes en la parte superior de unos a otros opápelos para que la mayoría de las capas sean oscurecieras. Luego, entonces es usted cuando accede a esa clave, obtiene el valor de la capa superior, pero si accede a algo que no está configurado en la capa superior, pero configura en la capa inferior, obtiene el valor de la capa inferior ...... y respirar.in corto: hash atado: foo => 'bob', quux => 'Fleeg' | | ^ | Capa 1: foo => 'bob' ^ capa 2: foo => 'bar', quux => 'fleeg'so ¿Por qué es útil esto? Bueno, la aplicación obvia es para preferencias. En una aplicación CGI, puede atarse en la parte inferior Hash a una base de datos con las preferencias predeterminadas de todos los usuarios, la segunda capa con las preferencias del usuario actual, la capa por encima de las preferencias por sesión y la capa por encima de la -Los valores de presos.Synopsis Uso Lazo :: hash :: Cayered; mi% hash; mi% test1 = (foo => 'bar', bob => 'sprite'); MI% TEST2 = (Bob => 'Joey'); # atar el nuevo hash con los hashes inicializados por encima de la haya% hash, 'Tie :: hash :: Cayered', (\% Test1, \% Test2); # Debido a que los valores de hash están en capas # de izquierda a derecha es de abajo hacia arriba, así que ... # $ hash {'bob'} EQ 'Joey' # $ Hash {'foo'} EQ 'Bar' # ... que es bonita cool $ hash {'foo'} = 'flam'; # Esto se establece 'foo' en la capa más alta, así que ... # $ hash {'foo'} ahora EQ 'Flam' eliminar $ hash {'Bob'}; # Esto elimina $ hash {'Bob'} en la capa superior, así que ... # $ Hash {'Bob'} ahora EQ 'Sprite' # Vamos a borrar el hash% hash = (); # que despeja la capa superior para que ... # $ hash {'foo'} ahora EQ 'Bar' # config Foo Foo y Quux en la capa superior $ hash {'foo'} = 'flam'; $ hash {'quux'} = 'fleeg'; # Las llaves de% hash son ahora ... # Foo, Bob y Quux Aviso La falta de duplicados # Configuración de Mutt en la parte inferior más tarde Hash ... $ Test1 {'Mutt'} = 'Ley'; # ... también lo establece en% hash # SO $ HASH {'MUTT'} EQ 'LEY' $ TEST2 {'MUTT'} = 'correo'; # y $ hash {'mutt'} ahora EQ 'Mail' # Puede acceder a la pila de hashes # como una matriz normal ... atada (% hash} -> pulsar ({slub => 'slob'}); # $ hash {'slub'} eq 'slob' atado (% hash) -> sin navegación ({slub => 'losa'}); # $ hash {'slub'} eq 'slab' atado (% hash} -> turno (); # $ hash {'slub'} eq 'slob' atado (% hash) -> pop (); # $ hash {'slub'} ahora no se definen los requisitos: · Perl


Ate :: hash :: Cayered Software relacionado