From: Koichi Sasada Date: 2011-06-11T17:01:04+09:00 Subject: [ruby-core:37015] [Ruby 1.9 - Bug #4577][Assigned] (int...float).max should not raise an error Issue #4577 has been updated by Koichi Sasada. Status changed from Open to Assigned Assignee set to Yukihiro Matsumoto ---------------------------------------- Bug #4577: (int...float).max should not raise an error http://redmine.ruby-lang.org/issues/4577 Author: Joey Zhou Status: Assigned Priority: Normal Assignee: Yukihiro Matsumoto Category: Target version: ruby -v: - =begin (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(). =end -- http://redmine.ruby-lang.org