【发布时间】:2014-02-20 00:08:43
【问题描述】:
我正在尝试制作一个哈希值来唯一标识仅低于一组级别的数字。哈希结构看起来像这样:
my %gh = {
'Test1' => {
'level1a' => {
'level2b' => {
'level3a' => {
'level4a' => {
'level5' => '63'
}
}
}
}
}
};
有人可以告诉我遍历哈希的最简单方法是什么,这样我就可以得到值 63。
我一直在用
my $x = '';
foreach my $l0 (%gh){
foreach my $l1 (%{$l0}){
foreach my $l2 (%$l1){
foreach my $l3 (%{$l2}){
foreach my $l4 (%$l3){
foreach my $l5 (%{$l4}){
$x = $l5;
}
}
}
}
}
}
这个过程似乎运行良好。但我只是在寻找更简单、更短的东西;
提前致谢
【问题讨论】:
-
您的示例不会达到您的预期。此外,您的上述代码将不起作用,因为您将 hashref 分配给哈希。
-
你想如何提取值,你对哈希结构提前了解多少?
-
这个问题只有在每个哈希只有一个键的情况下才有意义,在这种情况下数据结构没有意义。
标签: perl hash hashmap hashtable