2009年1月16日星期五

[PerlChina] Re: perl标量与列表和散列的一点疑问

2009/1/16 agentzh <agentzh@gmail.com>:
> 2009/1/16 e280s 4ever <e280s4ever@gmail.com>
>>
>> 那如果cnhack说的正确的话,你说的应该不对吧(我没用过perl6)。
>> @list[0]可以理解,合法,
>> 但%hash{'aaa'}肯定不应该合法!
>
> Larry 的想法是在 Perl 6 中,让变量的 sigil 永远和它自身的类型保持一致,而不管这个变量是怎么用的(比如下标访问啥的),目的是
>
> 1. 更一致,grep 友好
> 2. 太多的初学者会对 sigil 的不一致使用产生疑问,为了教学方便,也省一个 FAQ
>
> 在 Perl 5 中 @a[...] 主要用于数组切片,比如:
>
> $ perl -e '@a=qw(x y);print @a[0..1]'
> xy
>
> 只不过在标量上下文中返回切片中的最后一个元素,而非切片的长度:

因为 slice 返回的是一个 list 而不是 array,而在 scalar context 中,list 返回它的最后一个元素,
array 则返回其长度。

lee

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

没有评论: