From: Yukihiro Matsumoto Date: 2007-12-12T12:44:26+09:00 Subject: [ruby-dev:32549] Re: [ruby-cvs:21399] Ruby:r14162 (trunk): * parse.y (expr): redefinable not (!) operator. まつもと ゆきひろです In message "Re: [ruby-dev:32548] Re: [ruby-cvs:21399] Ruby:r14162 (trunk): * parse.y (expr): redefinable not (!) operator." on Wed, 12 Dec 2007 12:08:36 +0900, "Yusuke ENDOH" writes: |この変更で、! の中で範囲式が使えなくなっています。 |$ ./ruby -ve '(1..5).each {|x| p x if !(x==2..x==4) }' |ruby 1.9.0 (2007-12-11 patchlevel 0) [i686-linux] |-e:1:in `block in
': bad value for range (ArgumentError) | from -e:1:in `each' | from -e:1:in `
' | |これは意図的な仕様変更ということになるのでしょうか。 これもそろそろやめたい仕様ではあるのですが(あまりにPerlish)、 とはいえクリスマスリリースでいきなりやめるのは難しいと思うの で、たぶん2.0までは残るでしょう。 というわけで、直しておきます。