条件での範囲式

範囲式が条件式でも使えるらしい。

(1..10).each {|i| 
  puts i if i==3..i==7
}
#=> 3, 4, 5, 6, 7 が表示される

当然文字列でも大丈夫。

("A".."E").each {|c| 
  puts c if c=="B"..c=="D"
}
#=> B, C, D が表示される

しらなかったー。


と思ってたら ruby-dev 32549 でまつもとさんが条件式での範囲式に対して

これもそろそろやめたい仕様ではあるのですが(あまりにPerlish)、
とはいえクリスマスリリースでいきなりやめるのは難しいと思うの
で、たぶん2.0までは残るでしょう。

と言っておられた。1.9 ではなくならないけど将来的にはなくなっちゃうようだ。