El conjunto de pares clave/valor se llama Hash. Cada clave en una estructura hash es única y de tipo strings. Los valores asociados con estas claves son escalares . Estos valores pueden ser un número, una string o una referencia. Un Hash se declara usando mi palabra clave. El nombre de la variable está precedido por el signo de dólar ($) seguido de la clave entre llaves y el valor asociado con la clave. Cada clave está asociada con un único valor.
Ejemplo:
my%rateof{mango} = 45;
Surge la pregunta de cuándo usar Array y cuándo usar Hashes.
- Si las cosas están en orden, entonces ve por la array. Por ejemplo:
1. A list of people in a bank queue. 2. A list of people in railway reservation line. 3. A list of files to read.
- Si las cosas que tenemos no están en orden entonces ve por Hashes. Por ejemplo:
1. An index of surname looked up by the first name. 2. An index showing the size of files looked up by name.
Hash vacío: una variable hash sin ninguna clave se llama hash vacío .
- Ejemplo:
my %rateof;
- Aquí rateof es la variable hash.
Insertar un par clave/valor en un hash: las claves siempre son de tipo string y los valores siempre de tipo escalar.
- Ejemplo:
$rateof{'mango'} = 45;
- Aquí la clave es mango y el valor es 45.
Inicialización de hash y obtención de un elemento de un hash: una variable hash se puede inicializar con pares clave/valor durante su tiempo de declaración. Hay dos formas de inicializar una variable hash. Uno está usando => que se llama flecha gorda o coma gorda . El segundo es poner los pares clave/valor entre comillas dobles («») separados por una coma (,) . El uso de comas gruesas proporciona una alternativa, ya que puede dejar comillas dobles alrededor de la clave.
Para acceder a los elementos individuales de un hash, puede usar un signo de dólar ($) seguido de una variable hash seguida de la clave entre llaves. Al acceder al par clave/valor, si pasó la clave que no está presente, devolverá un valor indefinido o si activó la advertencia, mostrará la advertencia.
- Ejemplo:
Perl
# Perl program to demonstrate the # Fetching an element of a Hash # creating hash %rateof = ('Mango' => 45, 'Orange' => 30, 'Grapes' => 40); # Fetching an element of Hash print "$rateof{'Mango'}\n"; print "$rateof{'Orange'}\n"; print "$rateof{'Grapes'}\n";
- Producción:
45 30 40
- Explicación: Para acceder a las tres claves Mango, Naranja, Uvas e imprimir los valores asociados con ellas, simplemente use el signo de dólar seguido de la Clave. La declaración de impresión imprimirá el valor asociado con esa clave.
Valores vacíos en un hash: generalmente, no puede asignar valores vacíos a la clave del hash. Pero en Perl, existe una alternativa para proporcionar valores vacíos a Hashes. Mediante el uso de la función undef . «undef» se puede asignar a una clave nueva o existente según la necesidad del usuario. Poner undef entre comillas dobles lo convertirá en una string, no en un valor vacío.
Perl
# Perl program to demonstrate the # empty values of a Hash #use warnings; # creating hash %rateof = ('Mango' => 45, 'Orange' => undef, 'Grapes' => 40); # Fetching an element of Hash print "$rateof{'Mango'}\n"; print "$rateof{'Orange'}\n"; print "$rateof{'Grapes'}\n";
Producción:
45 40
Iterando sobre hashes: Para acceder al valor en un hash, el usuario debe conocer la clave asociada a ese valor. Si las claves de un hash no se conocen antes, con la ayuda de la función de claves, el usuario puede obtener la lista de claves y puede iterar sobre esas claves.
Ejemplo:
my @fruits = keys %rateof; for my $fruit (@fruits) { print "The color of '$fruit' is $rateof{$fruit}\n"; }
Tamaño de un hash: el número de pares clave/valor se conoce como el tamaño del hash. Para obtener el tamaño, el primer usuario debe crear una array de claves o valores y luego puede obtener el tamaño de la array.
- Sintaxis:
print scalar keys % hash_variable_name;
- Ejemplo:
Perl
# Perl program to find the size of a Hash #use warnings; # creating hash %rateof = ('Mango' => 64, 'Apple' => 54, 'Grapes' => 44, 'Strawberry'=>23); # creating array of keys @keys = keys %rateof; $size = @keys; print "Hash size using Keys is: $size\n"; # creating hash of values @values = values %rateof; $size = @values; print "Hash size using Values is: $size\n";
- Producción:
Hash size using Keys is: 4 Hash size using Values is: 4
Adición y eliminación de elementos en hashes: el usuario puede agregar fácilmente un nuevo par de claves/valores en un hash utilizando un operador de asignación simple.
- Ejemplo 1: Adición de elemento en hash
Perl
# Perl program to add an element in a hash #use warnings; # creating hash %rateof = ('Mango' => 64, 'Apple' => 54, 'Grapes' => 44, 'Strawberry'=>23); # array of keys @keys = keys %rateof; $size = @keys; print "SIZE OF HASH BEFORE ADDING: is $size\n"; # Adding new key/value pair into hash $rateof{'Potato'} = 20; # array of keys @keys= keys %rateof; $size = @keys; print "SIZE OF HASH AFTER ADDING: is $size\n";
- Producción:
SIZE OF HASH BEFORE ADDING: is 4 SIZE OF HASH AFTER ADDING: is 5
- Ejemplo 2: Eliminar un elemento del hash usando la función de eliminación
Perl
# Perl program to element from hash #use warnings; # creating hash %rateof = ('Mango' => 64, 'Apple' => 54, 'Grapes' => 44, 'Strawberry'=>23); # creating array of keys @keys= keys %rateof; # finding size of hash $size = @keys; print "SIZE OF HASH BEFORE DELETING: $size\n"; # using delete function delete $rateof{'Mango'}; # creating array of keys @keys= keys %rateof; # finding size of hash $size = @keys; print "SIZE OF HASH AFTER DELETING: $size\n";
- Producción:
SIZE OF HASH BEFORE DELETING: 4 SIZE OF HASH AFTER DELETING: 3
Publicación traducida automáticamente
Artículo escrito por Akashkumar17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA