我有以下哈希:
my %villains = {
"Boba" => "Fett",
"Darth" => "Vader",
"Moff" => "Tarkin",
}
然后我这样打印它:
print "".%villains;
我得到了以下输出:
1/8
Perl中的语义是什么导致了这种情况?
谢谢!
我有以下哈希:
my %villains = {
"Boba" => "Fett",
"Darth" => "Vader",
"Moff" => "Tarkin",
}
然后我这样打印它:
print "".%villains;
我得到了以下输出:
1/8
Perl中的语义是什么导致了这种情况?
谢谢!
对于不熟悉哈希表内部结构的人来说,这可能需要一些解释:当项目被添加到哈希表时,它们会根据哈希算法排列成桶,以便更有效地检索。
您正在收集玩具汽车。 为了更轻松地找到您的汽车,您决定根据颜色将它们放入不同的桶中。 您有红色,黄色,绿色,蓝色和黑色汽车的存储桶。
你往车库里添加了一辆新的绿色福特野马,所以它被放进了“绿色”桶里。下次你想找这辆车时,可以直接去“绿色”桶,搜索范围会更小。
{
和}
)中会分配一个_哈希引用_,而不是哈希本身。您声明了一个哈希并提供了一个_哈希引用_。因此,您永远不会填充超过一个桶。 - PP.