Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Perl5 でネコ演算子Range Check

Perl 5 で、ある値が範囲内に入ってるか確認したいことってあるわけで。たとえば、

my $t = time;
if ($min <= $t && $t < $max) {
    ...
}

みたいな冗長なコードは書きたくない。じゃあどうするかなって言うと、

if (grep { $min <= $_ and $_ < $max } time) {
    ...
}

あたりがベストな解なのかなぁと思った。でも仕事でこんなコード書かれたら腹が立つかなぁ。かな〜り微妙。

6/9追記:

if (do { my $t = time; $min <= $t and $t < $max }) {
    ...
}

なら、許せる範囲かなぁ。