是否有可能在某種程度上指示Perl中的數組是否未定義或爲空?我發現自己遇到了一些情況,希望能夠區分一個空數組和尚未填充的數組(或因某種原因填充失敗)。Perl中的未定義數組
因此,例如,用一個數組引用我可以這樣做:
my $apples;
$apples = get_apples();
if(defined $apples){
if(scalar @$apples == 0){
# We successfully got the list of apples, but there were none
}
}else{
# There was a problem getting the list of apples
}
我這個唯一的抱怨是「我的$蘋果」不告訴你,$蘋果打算爲一個數組參考,所以@apples會更具體。
它沒有看到有一種方法可以顯式地對數組做某事,是這樣嗎?總是需要另一個變量來指示數組是否被成功填充?
my @apples;
(@apples) = get_apples();
永遠不能測試蘋果的成功返回,對嗎?或者我缺少一些整潔的東西?
編輯︰ 我知道,get_apples可以返回一個成功和一個列表來填充數組,但我很好奇,如果有一種方法來指示一個空值或未定義的值只有一個數組。
我不知道這是你在問什麼,但Perl的認爲空數組成爲失敗值。 – Neil 2012-03-26 23:03:05
@ Neil「假」不是「失敗」的同義詞。 – Schwern 2012-03-26 23:09:28
我區分有人告訴我「沒有符合條件的結果」和「500內部服務器錯誤」:P – GoldenNewby 2012-03-26 23:14:21