La tarea. En el programa en el lenguaje de programación Perl es un hash. Es necesario saber cuántos pares
los valores que en él se encuentra.
Por ejemplo, para este hash debe obtener el valor de 1:
Y para este tipo de hash debe obtener el valor de 3:
my %h = (
a => 'AAA',
b => 'BBB',
c => 'CCC',
);
La solución de esta tarea es el primero en recibir todas las claves hash mediante keys
, luego
contar el número de claves mediante escalar contexto. Aquí está el script completo:
▶ Run
my %h = (
a => 'AAA',
b => 'BBB',
);
my $number = scalar keys %h;
print $number;
El script mostrará en la pantalla el número de 2
. scalar keys %h
es lo mismo que scalar(keys(%h))
.
Esta solución funciona en todas las versiones de Perl. Y es muy probable que esta solución es la mejor.
A partir de la versión de Perl 5.26 número de pares de valores en хеше se puede conseguir simplemente con la ayuda de scalar %h
.
Y gracias a esto había una densidad entre el hecho de cómo obtener el número de elementos en la matriz scalar @arr
y cómo obtener el número de pares de valores en хеше scalar %h
. Es una lástima que este comportamiento no fue creado originalmente.
Si utiliza scalar %h
en Perl antes de 5.26, el resultado de esta operación será extraña la fracción de la especie 1/8
.
(la explicación de lo que significa esta fracción).
Debido a esto, más confiable opción para averiguar el número de parejas en хеше todavía sigue siendo una opción scalar keys %h
.