From: Yusuke ENDOH Date: 2007-12-12T12:08:36+09:00 Subject: [ruby-dev:32548] Re: [ruby-cvs:21399] Ruby:r14162 (trunk): * parse.y (expr): redefinable not (!) operator. 遠藤と申します。 > matz@ruby-lang.org wrote: > > matz 2007-12-10 01:39:49 +0900 (Mon, 10 Dec 2007) > > > > New Revision: 14162 この変更で、! の中で範囲式が使えなくなっています。 $ ruby -ve '(1..5).each {|x| p x if !(x==2..x==4) }' ruby 1.8.5 (2006-08-25) [i486-linux] 1 5 $ ./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 `
' これは意図的な仕様変更ということになるのでしょうか。 # ちなみに ! のメソッド化は面白そうなので賛成派です。 -- Yusuke ENDOH