From: redmine@... Date: 2011-04-15T00:02:07+09:00 Subject: [ruby-core:35754] [Ruby 1.9 - Bug #4577][Open] (int...float).max should not raise an error Issue #4577 has been reported by Joey Zhou. ---------------------------------------- Bug #4577: (int...float).max should not raise an error http://redmine.ruby-lang.org/issues/4577 Author: Joey Zhou Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.2p180 (2011-02-18) [i386-mingw32] (int...float).max (without a block) will raise an error: (({p (1...9.3).max # cannot exclude non Integer end value (TypeError)})) I don't think it should do so. int...float is a valid range object. When I construct such range, there's no error message. The range can call all the Range instance methods. Only when calling single #max, the errmsg seems to tell that the range itself is not valid. #max with a block will not raise the error: (({p (1...9.3).max {|a,b| a <=> b} #=> 9})) I think (1...9.3).max should also return 9( (end_obj-1).ceil ). If you admit the legality of #max(&block), you should also admit #max(). -- http://redmine.ruby-lang.org