我正在编写一个搜索例程,其中 undefined 和零都是有效结果。我正在返回一个两元素数组,如 ($result, $answer)
因为我没有“未定义但真实”的值。它工作正常,但有点笨拙。一个类(class)似乎有点矫枉过正。
这样的事情是否存在或可以以某种方式伪造?我正在考虑诸如 0E0
之类的事情把戏之类的
更多细节。这是我想要的用户界面。当前例程返回两个值,结果(无论是否找到键)和一个值(如果找到)。
my $result = search_struct($key, $complex_data_structure);
if ($result) {
print "A result was found for $key! Value is: ", $result // "Undefined!", "\n";
}
else {
print "Sorry, no result was found for $key.\n";
}
最佳答案
您可以只返回对结果的引用。返回 undef
没有结果,\( undef )
对于文字未定义的结果,\( whatever )
对于任何其他结果。然后调用者可以使用 $$result
(在确定 $result
被定义后)。
关于perl - 是否有类似于 "undefined but true"的 "0 but true"值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12783681/