【发布时间】:2011-09-15 07:39:58
【问题描述】:
考虑以下 sn-p:
use strict;
use warnings;
my %a = ( a => 1,
b => 2,
c => 'cucu',
d => undef,
r => 1,
br => 2,
cr => 'cucu',
dr => '321312321',
);
my $c = %a;
print $c;
这个结果是5/8,我不明白这代表什么。我在某处读到这个 fraction 看起来结果中的一个数字可能代表哈希中的桶数,但显然情况并非如此。
有谁知道如何在标量上下文中评估 perl 哈希?
编辑
我添加了一些其他哈希来打印:
use strict;
use warnings;
use 5.010;
my %a = ( a => 1,
b => 2,
c => 'cucu',
d => undef,
r => 1,
br => 2,
cr => 'cucu',
dr => '321312321',
);
my $c = %a;
say $c; # 5/8
%a = ( a => 1,
b => 21,
c => 'cucu',
br => 2,
cr => 'cucu',
dr => '321312321',
);
$c = %a;
say $c; # 4/8
%a = ( a => 1,
b => 2,
c => 'cucu',
d => undef,
r => 1,
br => 2,
cr => 'cucu',
dr => '321312321',
drr => '32131232122',
);
$c = %a;
say $c; #6/8
那么,您将像 a => 1 这样的“元组”称为哈希中的存储桶吗?在那种情况下,为什么最后一个哈希有 9 个“元组”时仍然有 8 作为分母?
感谢大家到目前为止的回复:)
【问题讨论】:
标签: perl