*   >> Lectura Educación Artículos >> science >> programación

ActivePerl Hashes

ActivePerl hashes Fundamentos de ActivePerl - Parte 10 Introducción Esto es parte de mi serie 10, Fundamentos de ActivePerl. Un hash es como una matriz, pero no exactamente lo mismo. En esta parte del tutorial nos fijamos en el hash de ActivePerl. Nota: Si no puede ver el código o si cree que falta algo (enlace roto, la imagen ausente), simplemente en contacto conmigo en [email protected]. Es decir, en contacto conmigo para el más mínimo problema que tenga acerca de lo que está leyendo.

Un Hash contenido Ejemplo La siguiente lista muestra algunas frutas y sus colores: Manzana => púrpura plátano => Pera amarilla => verde limón => verde En la lista vemos que la manzana es de color púrpura, el plátano es amarillo, etc. El => signo sólo demuestra que el elemento de la izquierda corresponde a la opción de la derecha. Esta es una lista de hash.

Veamos una lista de arreglo típico; una lista de los nombres de algunos de los empleados en una empresa: 0 Juan 1 Mary 2 Pedro 3 Agustín 4 Angela 5 Susan Martin 6 En la lista de arreglo de la primera columna debe ser siempre índices; mientras que la segunda columna puede tener números o cadenas. En una lista de hash la primera columna no es necesariamente índices; que puede estar compuesta de números y /o cadenas; la segunda columna también puede estar compuesta de números y /o cadenas.

La diferencia entre una lista de hash y una lista de arreglo es que para una lista de arreglo de la primera columna se compone siempre de índices (contando números de cero), pero para obtener una lista de hash la primera columna puede ser números y /o cadenas. La segunda columna de una lista de arreglo o de hash puede ser cualquier cosa (números y /o cadenas). Para los dos ejemplos anteriores, la lista de hash tiene cadenas para la primera columna y la lista de arreglo tiene sus índices incondicionales. El resto de este tutorial se ocupará de hashes.

Creación de un Hash La sintaxis para crear un hash es: mi% hashName = (clave1 => valor1, key2 => valor2, key3 => valor3, ...); Usted comienza con la palabra reservada, mi, luego un espacio. A continuación tienes el símbolo%, seguido por el nombre del hash. El nombre de hash precedida por% es la variable hash. Después de que usted tiene el operador de asignación. Entonces usted tiene la lista de hash entre paréntesis (entre paréntesis). Mirando el ejemplo de hash anterior, la primera columna se llama las llaves; la segunda columna se llama los valores.

Los escribe como tal dentro de los paréntesis. Cada elemento de hash dentro de los corchetes comienza con la tecla, seguido por el => signo (es decir, el signo igual seguido por el signo mayor que), entonces el valor correspondiente. Antes de escribir el siguiente elemento, tiene que escribir primero una coma. Por supuesto, el último elemento no tiene una coma antes de que los soportes de cierre. Bueno, después de que los soportes de cierre que tiene el punto y coma; que indica el final de una instrucción ActivePerl.

Si el valor es una cadena que se escribe entre paréntesis entre comillas (simples o dobles). Si el valor es un número, no se escribe entre comillas. Usted puede dar el nombre, fruitColor al ejemplo fruto arriba. La siguiente sentencia crea el hash en ActivePerl: my% fruitColor = (Apple => "púrpura", Plátano => "amarillo", Pera => "verde", Limón => "verde"); Tenga en cuenta que en los soportes de las teclas no están entre comillas.

La declaración anterior se puede escribir en el código cuidadosamente la siguiente manera: mi% fruitColor = (Apple => "púrpura", Plátano => "amarillo", Pera => "verde", Limón => "verde"); Acceso a un valor hash La sintaxis para acceder a un valor hash es: {"clave"} Se empieza con un símbolo $, seguido del nombre de hash $ hashName, y luego un par de llaves. Dentro de las llaves, usted tiene la llave (entre comillas simples o dobles) del valor correspondiente.

Así que para acceder a la cadena púrpura anterior, debería escribir: $ fruitColor {"Apple"} En esta expresión la clave tiene que estar entre comillas, (simples o dobles). Sin embargo, al crear el hash de las teclas no están entre comillas. Esta expresión devuelve el valor correspondiente de la clave.

Cambio de un valor hash se utiliza la expresión anterior para cambiar un valor hash de la siguiente manera: $ hashName {'clave'} = newValue; Así que para cambiar el color de la manzana en el hash de púrpura a rojo, debería escribir: $ fruitColor {'Manzana'} = "red"; Leer y tratar el siguiente código, donde se muestra a continuación, el color inicial de la manzana ha cambiado y volver a mostrarse.

use strict; print "Content-Type: text /html \\ n \\ n"; mi% fruitColor = (Apple => "púrpura", Plátano => "amarillo", Pera => "verde", Limón => "verde"); print $ fruitColor {'Manzana'}; imprimir "$ fruitColor {'Manzana'} =" red "; print $ fruitColor {'Manzana'};. Acceso a una variable en lugar de una clave Puede acceder a un valor con una variable en lugar de una clave El siguiente segmento de código ilustra esto: mi $ herKey = "Apple"; print $ fruitColor {$ herKey}; Funciones Hash El Hash tiene funciones al igual que la matriz tiene funciones nos fijamos en algunas funciones hash continuación La cada función La sintaxis para utilizar la cada función.

. es: cada uno (% HashName) Esta expresión devuelve o bien el siguiente par clave /valor o la tecla siguiente en función de lo que se llama el contexto de lista o contexto escalar En nuestro código de abajo es el siguiente par clave /valor que será devuelto.. En el código de abajo, yo uso el hash anterior con cuatro elementos tanto, si utiliza los cada función cuatro veces usted tendrá los cuatro pares de clave /valor diferentes Leer y tratar el siguiente código: use strict; imprimir "Content-Type..

: text /html \\ n \\ n "; mi% fruitColor = (Apple =>" púrpura ", Plátano =>" amarillo ", Pera =>" verde ", Limón =>" verde "); imprimir cada (% fruitColor); print "print cada uno (% fruitColor); print" print cada uno (% fruitColor); print "print cada uno (% fruitColor); print" En mi equipo he tenido el siguiente resultado: Bananayellow Applepurple lemongreen Peargreen Bueno, la clave y el valor para cada par no están separados; no nos preocuparemos de eso por ahora. El orden de los pares clave /valor no es el mismo orden en que las escribió en el hash.

Ten en cuenta que esta orden no se puede predeterminar. Así que el cada función devolverá el siguiente par clave /valor en ciertas condiciones. Comienza con lo que considera como la primera, entonces si se llama de nuevo, devuelve lo que considera como el siguiente, y así sucesivamente. Usted programador ActivePerl no se puede saber el orden en que se devolverán los elementos. Las teclas de función La sintaxis de la función de las teclas es: teclas (% hashName) Devuelve una lista (que puede ser sostenido por una matriz) de todas las claves en un hash.

Lea y probar el siguiente código: use strict; print "Content-Type: text /html \\ n \\ n"; mi% fruitColor = (Apple => "púrpura", Plátano => "amarillo", Pera => "verde", Limón => "verde"); misarr = teclas (% fruitColor); imprimirarr; El orden de las claves de retorno de nuevo no está predeterminada (no la forma en que estaban mecanografiados).

Los valores de la función La sintaxis de la función de los valores es: valores (% hashName) La función de los valores se comporta de forma similar a la función de las teclas, excepto que devuelve una lista de los valores en el hash y no una lista de las teclas. Lea y probar el siguiente código: use strict; print "Content-Type: text /html \\ n \\ n"; mi% fruitColor = (Apple => "púrpura", Plátano => "amarillo", Pera => "verde", Limón =>

Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.