perl中,数组元素可以为哈希表么

即,数组中的每一个元素都是哈希表~~~... 即,数组中的每一个元素都是哈希表~~~ 展开
 我来答
cainmusic
2010-05-18 · TA获得超过311个赞
知道小有建树答主
回答量:111
采纳率:0%
帮助的人:101万
展开全部
建立数组元素为哈希表(散列)的数组,方法是,使用引用,5楼那样的建立方法和直接将列表转换为哈希没有区别,没有什么实际意义。
给楼主一个例子吧
$some_array = [
{ $key1 => $value1
}
{ $key2 => $value2
$key3 => $value3
}
{ $key4 => $value4
$key5 => $value5
$key6 => $value6
}
]
这是一个匿名引用。这个引用中在一个数组里放了三个不同的哈希,每个哈希遵循自己的规则。

我的代码里有一个小问题,就是哈希键值对不一定要使用变量,如我上面说的,只要每个哈希遵循自己的规则就可以,下面这个也可以。
$some_array = [ \%hash1, \%hash2, \%hash3, ]
另外,在匿名引用中,匿名数组用[]标定,匿名哈希用{}标定。
具体的我觉得楼主的问题既然已经涉及到这里了,可以仔细去研究一下引用。
猎人海贼
2010-05-14 · 超过23用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:46.7万
展开全部
hash 由键值关系构成,你可以把数组赋值给hash
use strict;
use warnings;
my @a;
for(my $i=0;$i<10;$i++){
$a[$i]=$i;
}
print Dumper(@a);
my %a=@a;

for my $key (keys %a){
print "key:",$key,"value:",$a{$key},"\n";
}

结果:
$VAR1 = 0;
$VAR2 = 1;
$VAR3 = 2;
$VAR4 = 3;
$VAR5 = 4;
$VAR6 = 5;
$VAR7 = 6;
$VAR8 = 7;
$VAR9 = 8;
$VAR10 = 9;
key:8value:9
key:6value:7
key:4value:5
key:0value:1
key:2value:3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiabin11
2010-05-20
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
肯定可以,数组只是一种特别的哈希,是一种键为有规律数字的哈希
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wzwmm2006
2010-05-12 · 超过24用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:0
展开全部
可以 你可以用一个循环把它转成哈希表,注意key别有相同的哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
芳菲唯我
2010-05-09
知道答主
回答量:8
采纳率:0%
帮助的人:1.1万
展开全部
可以的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式