2009年9月13日星期日

[PerlChina] Re: 对散列引用进行取值操作的问题

On Sun, 2009-09-13 at 22:57 +0800, 杨杰 wrote:
> 各位前辈:
>
> 大家好!初学perl,最近新加入perlChina社区。目前遇到一个关于散列的引用
> 问题如下:
>
> 对于一个散列的引用,如果要取出其中一个键的值,我们可以如下操作:
> my $ref_hash = {"a"=>1, "b"=>2, "c"=>3,};
>
> 1. my $element = $$ref_hash{"a"};
> 或
> 2. my $element2 = $ref_hash->{"b"};
>
> 但是我希望通过一个参数数组取出多个值,现在已经可以的是下面的用法:
> 1. my ($e1, $e2) = @$ref_hash{"a","b"};
>
> 但毕竟这样表述比较混乱,请教前辈们是否可以通过指针方式达到这种(通过多
> 个键获取对应值的数组的)效果?我用了很多种方法也不行~

这个语法如何:

my @e = map {$ref_hash->{$_}} qw(a b);

--
ZC Miao (hellwolf.misty@gmail.com)
Blog http://hellwolf.cublog.cn

gpg --keyserver pgp.mit.edu --recv-key 0x6B174C6F

Every day it's the same thing -- variety. I want something different.


--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

没有评论: