1
@array = reverse;
and
@array = reverse $_;
兩者都不同。隱含地使用@array = reverse
不使用$_
。我們必須明確聲明$_
。這是一個非常奇怪的情況,默認情況下,$_
未被使用。這是一個錯誤嗎?
@array = reverse;
and
@array = reverse $_;
兩者都不同。隱含地使用@array = reverse
不使用$_
。我們必須明確聲明$_
。這是一個非常奇怪的情況,默認情況下,$_
未被使用。這是一個錯誤嗎?
據我所知,從reverse documentation,reverse
工作陣列,所以它應該使用@_
而不是標量$_
?
該文檔顯示「在標量上下文中使用無參數,reverse()
反轉$_
」。 [重點]
$_ = "dlrow ,olleH";
print reverse; # No output, list context
print scalar reverse; # Hello, world
無論在官方文檔中的是Perl規範。如果Perl做了文檔所說的應該做的事情,那麼這不是一個錯誤。這是一種語言設計和實施決策。
想一想。當你反轉包含一個項目的列表時,你會得到什麼? – Schwern