我正在寻找这样的东西:(OR
我假设的内置函数在哪里)
代码:
@x=(1, 0, 1, 1, 1);
$a=OR(@x);
print $a;
预期结果:
1
Perl 有可能吗?
我正在寻找这样的东西:(OR
我假设的内置函数在哪里)
代码:
@x=(1, 0, 1, 1, 1);
$a=OR(@x);
print $a;
预期结果:
1
Perl 有可能吗?
use List::Util qw(reduce);
my $foo = reduce { $a or $b } (1,0);
say $foo;
sub OR {
foreach (@_) {
return 1 if $_;
}
return 0;
}
尽管避免使用全大写标识符是个好主意。
你可以很容易地制作这个函数:
sub OR {
my ($first, @rest) = @_;
for (@rest) {
$first ||= $_;
}
return $first; # True(1) or False(0)
}
注意:这会评估整个列表,实际上您可以停在第一个为 true 的值上。