2011-10-24 14 views
1
@array = reverse; 
and 
@array = reverse $_; 

兩者都不同。隱含地使用@array = reverse不使用$_。我們必須明確聲明$_。這是一個非常奇怪的情況,默認情況下,$_未被使用。這是一個錯誤嗎?

+1

想一想。當你反轉包含一個項目的列表時,你會得到什麼? – Schwern

回答

9

據我所知,從reverse documentation,reverse工作陣列,所以它應該使用@_而不是標量$_

該文檔顯示「在標量上下文中使用無參數,reverse()反轉$_」。 [重點]

$_ = "dlrow ,olleH"; 
print reverse;        # No output, list context 
print scalar reverse;      # Hello, world 
4

無論在官方文檔中的是Perl規範。如果Perl做了文檔所說的應該做的事情,那麼這不是一個錯誤。這是一種語言設計和實施決策。

相關問題