我讀Learning Perl 6th edition和子程序章有這樣的代碼:包圍私有變量的圓括號。爲什麼在這種情況下使用?
foreach (1..10) {
my($square) = $_ * $_; # private variable in this loop
print "$_ squared is $square.\n";
}
現在我明白列表語法,即括號,作爲在列表環境和標量上下文來區分:
my($num) = @_; # list context, same as ($num) = @_;
my $num = @_; # scalar context, same as $num = @_;
但在foreach循環的情況下,我看不到列表上下文是如何合適的。
而且我可以改變的代碼是:
foreach (1..10) {
my $square = $_ * $_; # private variable in this loop
print "$_ squared is $square.\n";
}
而且它的工作原理完全一樣。那麼爲什麼作者使用我的($平方)當一個簡單的我的$廣場可以被用來代替?
這種情況有什麼區別嗎?
我會說「問作者」。在這種情況下,括號是多餘的。 – Toto 2014-10-18 09:46:41