
Issue #19600 has been updated by nobu (Nobuyoshi Nakada). Since the method `clamp` makes a value covered by a range from an uncovered value, `clamp?` doesn't feel same as `cover?` or `between?`, to me. Extending `Comparable#between?` sounds nice. ---------------------------------------- Feature #19600: Method `clamp?` https://bugs.ruby-lang.org/issues/19600#change-102812 * Author: sawa (Tsuyoshi Sawada) * Status: Open * Priority: Normal ---------------------------------------- Currently, we have pairs of non-predicate and predicate methods like `String#match` and `String#match?`. Along this line, I propose the following. They are brain-friendly, and make programmers happier by saving them from terminology hell. 1. Since by #19588, `Comparable#clamp`'s behavior is made the same as `Range#cover?` for range arguments, alias `Range#cover?` as `Range#clamp?`. 2. Synchronize the specification of `Comparable#between?` with `Comparable#clamp`, i.e., a. Allow `Comparable#between?` to take a range argument, and b. Allow `Comparable#between?` to take `nil` as either or both of its arguments, or as either or both ends of its range argument. 3. Alias `Comparable#between?` as `Comparable#clamped?` -- https://bugs.ruby-lang.org/