2009年1月16日星期五

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

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

只不过在标量上下文中返回切片中的最后一个元素,而非切片的长度:

$perl -e '@a=qw(x y);print scalar @a[0..1]'
y

这个行为我倒不太清楚设计动机,呵呵

Cheers,
-agentzh

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

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

没有评论: