gpt4 book ai didi

arrays - 如果有一个(Perl),在满足特定条件的数组中查找项目?

转载 作者:行者123 更新时间:2023-12-03 18:18:26 25 4
gpt4 key购买 nike

是否有 Perl 习惯用法用于在满足特定条件的数组中查找项目(如果有)?

my $match = 0;
foreach(@list){
if (match_test($_)){
$result = $_;
$match = 1;
last;
}
}
$match || die("No match.");
say $result, " is a match.";

这个例子看起来有点尴尬。我希望 Perl 能够更干净地处理这个问题。

最佳答案

是的,grep是你要找的:

my @results = grep {match_test($_)} @list;
grep返回 @list 的子集哪里 match_test返回真。 grep被称为 filter在大多数其他函数式语言中。

如果您只想要第一场比赛,请使用 first来自 List::Util .
use List::Util qw/first/;

if (my $result = first {match_test($_)} @list) {
# use $result for something
} else {
die "no match\n";
}

关于arrays - 如果有一个(Perl),在满足特定条件的数组中查找项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3086874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com