是否有可能在某种程度上指示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