如何找到对数的元素在Perl哈希

任务。 在程序中编程语言Perl是散列。 你需要找出如何许多的对 值。

例如,这一散列必须设置为1:

my %h = (
    a => 'AAA',
);

而对于这样的散列,您需要获得值3:

my %h = (
    a => 'AAA',
    b => 'BBB',
    c => 'CCC',
);

决定

该标准解决这个问题是第一个得到所有的钥匙将散列通过使用 keys,然后 数键的数量通过使用标的背景。 这里是剧本中的全:

▶ Run
#!/usr/bin/perl

my %h = (
    a => 'AAA',
    b => 'BBB',
);

my $number = scalar keys %h;

print $number;

脚本将显示的数 2. scalar keys %h 的相同 scalar(keys(%h)).

这个方案适用于所有版本的Perl。 和通常,这决定是最好的。

决定在新版本的Perl

Perl5.26对数值中的散列可以获得简单地通过使用 scalar %h.

这导致了一致性之间如何获得数量的元件阵列 scalar @arr 并作为对数值在哈希 scalar %h. 可惜的是,这种行为不是创造。

如果你使用 scalar %h Perl早于5.26,这种操作的结果是一个奇怪的部分物种 1/8. (一解释什么,这部分意味着). 因为这是一个更可靠的选择,寻找对的数量在哈希仍然是选择 scalar keys %h.

相关的主题

其他文章