2009年9月13日星期日

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



2009/9/14 joe jiang <lamp.purl@gmail.com>
这个要求应该无法实现,之前的 @$hash_ref{'a','b'} 用的是 hash slice 功能,这个功能是一个独特的便利,没有可工作于 -> 操作符的版本。





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

-~----------~----~----~----~------~----~------~--~---

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

不明白这样表述哪里混乱?

2009/9/13 杨杰 <xtyangjie@gmail.com>
各位前辈:

大家好!初学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"};

但毕竟这样表述比较混乱,请教前辈们是否可以通过指针方式达到这种(通过多个键获取对应值的数组的)效果?我用了很多种方法也不行~

多谢指教!


--
Yang Jie(杨杰)
Group of MRMSS, Xi'an Jiaotong University
Department of Computer Science and Technology, Xi’an Jiaotong University

hi.baidu.com/thinkdifferent
PHONE: 86 1346888 3723
TEL: 86 29 82665263 EXT. 24
MSN: xtyangjie2004@yahoo.com.cn




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

-~----------~----~----~----~------~----~------~--~---

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

这个要求应该无法实现,之前的 @$hash_ref{'a','b'} 用的是 hash slice 功能,这个功能是一个独特的便利,没有可工作于 -> 操作符的版本。

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

-~----------~----~----~----~------~----~------~--~---

[PerlChina] Re: 退订邮件列表

http://groups.google.com/group/perlchina/subscribe?hl=zh-CN

Thanks

javascript wrote:
> RT
>
>
> ------------------------------------------------------------------------
> "中国制造 ",讲述中国60年往事
> <http://news.163.com/madeinchina/index.html?from=mailfooter>
> >


--
Fayland Lam // http://www.fayland.org/


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

[PerlChina] 退订邮件列表

RT



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

-~----------~----~----~----~------~----~------~--~---

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

多谢Sir Miao!

map的方法可以完成这个功能,我之前也没想到这个。

一个请教各位的进一步的问题是,代码:
2.   my $element2 = $ref_hash->{"b"};

可以利用hash表本身的特性取到其值,那么有没有别的方法(other than map)可以利用hash本身的特性,对用引用指向的匿名hash取到一个参数数组对应的值?要求引用要带箭头表示:

1.   my ($e1, $e2) = @$ref_hash{"a","b"}; #这个方法没有问题,但是没有使用箭头,表述不清晰
2.   my @e = map {$ref_hash->{$_}} qw(a b);  #Sir Miao的方法,是通过map完成的
2.   ?  # $ref_hash->{qw(a b)} ?



2009/9/13 Miao ZhiCheng <hellwolf.misty@gmail.com>
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.






--
Yang Jie(杨杰)
Group of MRMSS, Xi'an Jiaotong University
Department of Computer Science and Technology, Xi'an Jiaotong University

hi.baidu.com/thinkdifferent
PHONE: 86 1346888 3723
TEL: 86 29 82665263 EXT. 24
MSN: xtyangjie2004@yahoo.com.cn

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

-~----------~----~----~----~------~----~------~--~---

[PerlChina] Re: 求《Embedding Perl in HTML with Mason》

是啊!我也很想请教一下是怎么做的。^_^
----- Original Message -----
Sent: Sunday, September 13, 2009 9:42 PM
Subject: [PerlChina] Re: 求《Embedding Perl in HTML with Mason》

woosley,文件做的挺不错,保持着原来网站的风格和内部链接。不过我更好奇的是怎么做的,能介绍一下制作方法么?3Q!

woosley. xu. wrote:
我放到论坛空间里面了

2009/9/11 linhy <linhy0120@gmail.com>

嗨,

《Embedding Perl in HTML with Mason》可以从网上阅读:http://www.masonbook.com/
index.mhtml

但上不了网的时候,就不好办了。有没有人有这本书的电子版。可不可以共享一下。

将perl代码的输出嵌入到html ,该如何选择?服务器端包含程序(SSL)、Mason、还是其它?学习阶段,请各位指点。

Thanks in advance!




--
Woosley.Xu
Tju->PMO->Rdps



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

-~----------~----~----~----~------~----~------~--~---