ある要素が配列に含まれているかを調べる -解決編(?)-
ある要素が配列に含まれているかを調べる一般的な方法は? - 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
以下のサイトを参考にさせていただきました。