argius note

プログラミング関連

ある要素が配列に含まれているかを調べる -解決編(?)-

ある要素が配列に含まれているかを調べる一般的な方法は? - argius noteの解決案。一般的かどうかはちょっと分かりません。

use strict;
use warnings;

my @a = ("APPLE", "BEER", "CANDY");

my $include = sub { (grep { $_ eq $_[0] } @a) > 0 };
my $find = sub { for (my $i = 0; $i < @a; $i++) { $a[$i] eq $_[0] and return $i } -1 };

printf "%s\n", &$include("ALE");  # (empty=false)
printf "%s\n", &$include("BEER"); # 1(true)
printf "%d\n", &$find("CANDY");   # 2
printf "%d\n", &$find("DONUT");   # -1

以下のサイトを参考にさせていただきました。