From: "masasakano (Masa Sakano)" Date: 2022-09-02T18:18:04+00:00 Subject: [ruby-core:109826] [Ruby master Bug#18993] Inconsistent Range#size for Float and Rational Issue #18993 has been reported by masasakano (Masa Sakano). ---------------------------------------- Bug #18993: Inconsistent Range#size for Float and Rational https://bugs.ruby-lang.org/issues/18993 * Author: masasakano (Masa Sakano) * Status: Open * Priority: Normal * ruby -v: ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin20] * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- The returned values of Range#size between Rational and Float and also with regard to `exclude_end` of true and false are inconsistent. The example below highlights the difference. The first and second should return the same value. The difference between the first and third seems strange - if this is the specification, it should be clearly described in the [doc](https://ruby-doc.org/core-3.1.2/Range.html#method-i-size "Ruby-3.1.2 official doc of Range"). This point may be related to the issue "Misc #18984". ```ruby (5.quo(3)...5).size # => 3 (5.quo(3).to_f...5).size # => 4 (5.quo(3)..5).size # => 4 (5.quo(3).to_f..5).size # => 4 ``` -- https://bugs.ruby-lang.org/ Unsubscribe: