例えば以下のようなものです。(perlの場合)
if ($hoge->moge eq "fuga"
&& $moge->fuga =~ /[0-9]+/
&& $hoge->foo != 0
&& $moge->bar == 3
&& $hoge->method1()
&& $moge->method2()
&& $hoge->method3()
&& $moge->method4())
{
........
}
条件が多くなればなるほど見にくいので、すっきりと書ける方法が無いかと思うのですが……
以下のようなものはどうでしょうか。
use List::MoreUtils qw/all/; print 'true' if all {$_} $hoge->moge eq "fuga", $moge->fuga =~ /[0-9]+/, $hoge->foo != 0, $moge->bar == 3, $hoge->method1(), $moge->method2(), $hoge->method3(), $moge->method4();
以下のようなものはどうでしょうか。
use List::MoreUtils qw/all/; print 'true' if all {$_} $hoge->moge eq "fuga", $moge->fuga =~ /[0-9]+/, $hoge->foo != 0, $moge->bar == 3, $hoge->method1(), $moge->method2(), $hoge->method3(), $moge->method4();
なるほど、これは綺麗ですね。
条件式の付けたしや削除も楽そうです。
調べたらCで書かれたライブラリで、Pure Perlでも動くとのことで、なかなか便利そうですね。
ちょっとしたテストでしたら、こんな方法もあるかと。
map {chomp; eval or die } <DATA>;
print "ok";
__END__
$hoge->moge eq "fuga"
$moge->fuga =~ /[0-9]
$hoge->foo != 0
$moge->bar == 3
$hoge->method1()
$moge->method2()
$hoge->method3()
$moge->method4())
うは、こりゃよくも悪くもperl!って感じの解ですねえ。
参考にはなりますが実践するのはためらわれます(笑)
なるほど、これは綺麗ですね。
条件式の付けたしや削除も楽そうです。
調べたらCで書かれたライブラリで、Pure Perlでも動くとのことで、なかなか便利そうですね。