DATOS :: TRANSFORMER

Traverse una estructura de datos, alterándola en su lugar
Descargar ahora

DATOS :: TRANSFORMER Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Baldur Kristinsson
  • Sitio web del editor:
  • http://search.cpan.org/~baldur/Cache-BerkeleyDB-0.03/lib/Cache/BerkeleyDB.pm

DATOS :: TRANSFORMER Etiquetas


DATOS :: TRANSFORMER Descripción

Atravesar una estructura de datos, alterándola en su lugar DATOS :: TRANSFORMER es un módulo PERL para atravesar una estructura de datos, alterándola en su posición. HSYNOPSIS Use los datos :: Transformer; # A: Uso simple: # Recortar espacios en blanco extra de cadenas normales dentro de TA. MY $ TRIM = SUB {LOCAL ($ _) = CAMBIO; $$ _ = ~ S / ^ s * //; $$ _ = ~ S / S * $ //; }; MY $ T = DATOS :: TRANSFORMER-> Nuevo (Normal => $ TRIM); $ t-> Traverse (TA); # B: Uso más complejo: # (a) Mayúsculas Todas las teclas en todas las hashes contenidas en $ Data # y (b) Convierte cualquier matrices a los hashes: My $ UC_HASH = SUB {MY $ H = CAMBIO; Mis @Keys = Teclas% H; foreach (@Keys) {My $ UC = UC ($ _); Si ($ UC NE $ _ _! Existe ($ H -> {$ UC})) {$ H -> {$ UC} = $ H -> {$ _}; Eliminar $ H -> {$ _}; } ELSIF ($ UC NE $ _) {DIE "BAD CLAVE $ _: '$ UC' ya existe"; }}}; MY $ AR_CONV = SUB {MY% H = @ {$ _ }; retorno sub {\% h}; }; MIS $ t = DATOS :: TRANSFORMER-> Nuevo (hash => $ UC_HASH, Array => $ ar_conv, node_limit => 500_000); eval {$ t-> atravesar ($ datos)}; Advertir "no se pudo completar la transformación: $ @" si $ @; # C: Traversal no destructivo # No tiene que cambiar nada ... My $ Tamaño = 0; My $ T = DATA :: TRANSFORMER-> Nuevo (Normal => Sub {$ Tamaño + = Longitud ($ {$ _ _ })}, hash => sub {$ tamaño + = longitud ($ _) para llaves% { $ _ }},); Mis $ nodos = $ t-> tranverse (ta); Imprimir "Número de nodos: $ Nodos "; Imprimir" Tamaño de las llaves + Valores: $ Tamaño "; D. D: Dentro de una estructura de datos # Afecta a los objetos utilizando el nombre de la clase como una clave: My $ T = DATOS :: TRANSFORMER-> Nuevo ('My :: Class' => Sub {Shift-> Set_Foo (' Bar ')}); Requisitos: · Perl


DATOS :: TRANSFORMER Software relacionado