List::MoreUtilsのany、all、none、notall について
List::MoreUtils
http://search.cpan.org/~adamk/List-MoreUtils-0.30/lib/List/MoreUtils.pm
any、all、none、notallの4つについて、使う時に用途がゴチャゴチャしちゃうので備忘録
▼ソースを見るとこうなってる。
sub any (&@) { my $f = shift; foreach ( @_ ) { return YES if $f->(); } return NO; }
⇒どれか1つでもTRUEが存在すればYESを返す。全てFALSEならNOを返す。
sub all (&@) { my $f = shift; foreach ( @_ ) { return NO unless $f->(); } return YES; }
⇒全てTRUEであればYESを返す。どれか1つでもFALSEがあればNOを返す。
sub none (&@) { my $f = shift; foreach ( @_ ) { return NO if $f->(); } return YES; }
⇒どれか1つでもTRUEが存在すればNOを返す。全てFALSEならYESを返す。
sub notall (&@) { my $f = shift; foreach ( @_ ) { return YES unless $f->(); } return NO; }
⇒全てTRUEならFALSEを返す。どれか1つでもFALSEが存在すればYESを返す。
もしList::MoreUtilsを利用出来ない環境であれば、直接これを書いてしまっても良いかも、