diff options
author | Burdette Lamar <[email protected]> | 2021-09-15 15:51:54 -0500 |
---|---|---|
committer | GitHub <[email protected]> | 2021-09-15 15:51:54 -0500 |
commit | 745287d43a8fb63c84be986b23319d40e6affe2f (patch) | |
tree | d16793ffd27f36ac8cf54c5be5d07252a457f75e /range.c | |
parent | e967740d071a132cc0d09ff14fbe50594226844e (diff) |
Enhanced RDoc for Range#minmax (#4846)
Notes
Notes:
Merged-By: BurdetteLamar <[email protected]>
Diffstat (limited to 'range.c')
-rw-r--r-- | range.c | 46 |
1 files changed, 40 insertions, 6 deletions
@@ -1417,14 +1417,48 @@ range_max(int argc, VALUE *argv, VALUE range) /* * call-seq: - * rng.minmax -> [obj, obj] - * rng.minmax {| a,b | block } -> [obj, obj] + * minmax -> [object, object] + * minmax {|a, b| ... } -> [object, object] * - * Returns a two element array which contains the minimum and the - * maximum value in the range. + * Returns a 2-element array containing the minimum and maximum value in +self+, + * either according to comparison method <tt><=></tt> or a given block. + * + * With no block given, returns the minimum and maximum values, + * using <tt><=></tt> for comparison: + * + * (1..4).minmax # => [1, 4] + * (1...4).minmax # => [1, 3] + * ('a'..'d').minmax # => ["a", "d"] + * (-4..-1).minmax # => [-4, -1] + * + * With a block given, the block must return an integer: + * + * - Negative if +a+ is smaller than +b+. + * - Zero if +a+ and +b+ are equal. + * - Positive if +a+ is larger than +b+. + * + * The block is called <tt>self.size</tt> times to compare elements; + * returns a 2-element Array containing the minimum and maximum values from +self+, + * per the block: + * + * (1..4).minmax {|a, b| -(a <=> b) } # => [4, 1] + * + * Returns <tt>[nil, nil]</tt> if: + * + * - The begin value of the range is larger than the end value: + * + * (4..1).minmax # => [nil, nil] + * (4..1).minmax {|a, b| -(a <=> b) } # => [nil, nil] + * + * - The begin value of an exclusive range is equal to the end value: + * + * (1...1).minmax # => [nil, nil] + * (1...1).minmax {|a, b| -(a <=> b) } # => [nil, nil] + * + * Raises an exception if +self+ is a beginless or an endless range. + * + * Related: Range#min, Range#max. * - * Can be given an optional block to override the default comparison - * method <code>a <=> b</code>. */ static VALUE |