找回密码
 注册
查看: 2125|回复: 0

perl如何整体引用hash

[复制链接]
发表于 2011-11-14 20:24:35 | 显示全部楼层 |阅读模式
要引用整个hash,使用百分号(“%”)作为前缀。前面几页中使用的hash 的名字为%family_name。
为了方便,hash 可以转换为列表,或者反过来。给hash 赋值,其类型属于列表context 赋值,其中列
表是key/value 对◆:
◆虽然可以使用任何列表表达式,但其元素个数必须是偶数,因为由key/value 对组成。元素个数为奇数是不可靠的,这通常会引起警告。
%some_hash = (“foo”, 35, “bar”, 12.4, 2.5, “hello”, “wilma”, 1.72e30, “betty”, “bye\n”);
hash 的值(在列表context 中)是一个key/value 对的列表:
@array_array = %some_hash;
我们把这称为:将hash 展开,并将其key/value 对返回到一个列表中。返回的key/value 顺序和存放的顺序可能不同:
print “@any_array\n”;
#可能得到如下的结果:betty bye(换行),wilma 1.72e+30 foo 35 2.5 hello bar 12.4
上述顺序看起来很混乱,但对Perl 来讲很方便,这种顺序Perl 查询起来特别快。一般使用hash 时并不关心其实际的顺序,
或者有某种简单的方法将它们按要求的顺序排序。
虽然key/value 对的顺序是杂乱的,但返回的列表中每一个key 和其value 是连在一起的。因此,虽然我们不知道key:foo
会出现在什么地方,但我们知道其value:35 会紧随其后。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-23 18:12 , Processed in 0.036384 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表