配列に要素が含まれているかどうかを判断するには、どうすればよいですか?
Perl では grep 関数を使って配列中に要素が存在するかどうかを判定できます。grep 関数では、指定された条件を満たす要素を含む新しい配列を返します。条件を満たす要素が存在しない場合は、空の配列を返します。
配列中のある要素が指定した値と一致するかどうかを判別する方法を示す grep 関数の例を以下に示します。
#!/usr/bin/perl
my @array = (1, 2, 3, 4, 5);
my $element = 3;
# 使用 grep 函数判断元素是否在数组中
my @result = grep { $_ == $element } @array;
if (@result) {
print "元素 $element 存在于数组中\n";
} else {
print "元素 $element 不存在于数组中\n";
}
彼は怪我をしてしまったが、何の問題もなかった。
元素 3 存在于数组中
上の例では、配列@arrayには整数1から5が含まれています。grep関数を使用して、要素$elementが配列内にあるかどうかを調べます。ここで$_は配列内の各要素を表します。条件に一致する要素が見つかれば、新しい配列@resultに追加されます。
最後に、要素が配列中にあるかどうかを決定するために @result が空かどうかを判定します。 @result が空でない場合、要素は配列中に存在することを示します。そうでない場合、要素は配列中に存在しません。