那如果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 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论