【发布时间】:2013-04-11 09:03:46
【问题描述】:
我有一个问题希望有人能提供帮助(为了解释我的问题而进行了简化)。
我有以下数组散列的散列(我认为它就是这样?)
数据结构
{
Cat => {
Height => ["Tiny"],
},
Dog => {
Colour => ["Black"],
Height => ["Tall"],
Weight => ["Fat", "Huge"],
},
Elephant => {
Colour => ["Grey"],
Height => ["Really Big"],
Weight => ["Fat", "Medium", "Thin"],
},
}
我想做什么
下面的程序将打印整个数据结构。 我想用这种方式来做
my %h;
for my $animal (keys %h) {
print "$animal\n";
for my $attribute ( keys %{$h{$animal}} ) {
print "\t $attribute\n";
for my $i (0 .. $#{$h{$animal}{$attribute}} ) {
print "\t\t$h{$animal}{$attribute}[$i]\n";
}
}
}
我遇到的问题
我正在尝试访问数据结构的特定部分。例如,我只想为每个动物打印出Height 数组,因为在这个例子中我不关心其他Colour、Weight 属性。
我确信有一个简单的答案,我知道我需要指定 Height 部分,但正确的做法是什么?我尝试了多种我认为不会成功的方法。
【问题讨论】:
标签: arrays perl loops hash nested