這兩天在看Perl,發(fā)現(xiàn)Perl的精髓真的跟其強(qiáng)調(diào)的--“
There's More Than One Way To Do It. ”;但問題是太混亂了。。。
研究了下面簡(jiǎn)單腳本,我整個(gè)人都震驚了。。。
sub T {
my $n = @_;
print $n;
print @_;
print $#_;
}
T(1, 2, 3);
第一個(gè)print打印了$n, 顯示了參數(shù)個(gè)數(shù);第二個(gè)print打印@_,按照習(xí)慣思維,應(yīng)該跟$n是一樣的,No,No,No,它顯示了@_的內(nèi)容;而第三個(gè)print打印的是$_數(shù)組的最大邊界值。。。反正三種方法都能得到參數(shù)個(gè)數(shù)。。。
更崩潰的是下面這句,也能檢測(cè)參數(shù)個(gè)數(shù)。。。
print (@_ == 3);
都說Perl的發(fā)明者
Larry Wall獲得過兩次
IOCCC,看來(lái)這個(gè),我一點(diǎn)不奇怪了--他Y是故意把Perl搞成這樣的。。。