From 0a1e564683cbd9ce3728c3c1ef03c76df15e4696 Mon Sep 17 00:00:00 2001 From: usa Date: Sat, 25 Mar 2017 17:36:34 +0000 Subject: merge revision(s) 57434: [Backport #13161] Enumerable#{min,min_by,max,max_by} [ci skip] * enum.c: [DOC] Enumerable#{min,min_by,max,max_by} return a sorted array when +n+ argument is used. * enum.c: Small typo : minimum -> maximum [Bug #13161] Author: Eric Duminil git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@58112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- enum.c | 14 +++++++++----- version.h | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/enum.c b/enum.c index 7c06458e5a..cd27fdc477 100644 --- a/enum.c +++ b/enum.c @@ -1424,11 +1424,12 @@ min_ii(RB_BLOCK_CALL_FUNC_ARGLIST(i, args)) * a.min { |a, b| a.length <=> b.length } #=> "dog" * * If the +n+ argument is given, minimum +n+ elements are returned - * as an array. + * as a sorted array. * * a = %w[albatross dog horse] * a.min(2) #=> ["albatross", "dog"] * a.min(2) {|a, b| a.length <=> b.length } #=> ["dog", "horse"] + * [5, 1, 3, 4, 2].min(3) #=> [1, 2, 3] */ static VALUE @@ -1510,11 +1511,12 @@ max_ii(RB_BLOCK_CALL_FUNC_ARGLIST(i, args)) * a.max { |a, b| a.length <=> b.length } #=> "albatross" * * If the +n+ argument is given, maximum +n+ elements are returned - * as an array. + * as an array, sorted in descending order. * * a = %w[albatross dog horse] * a.max(2) #=> ["horse", "dog"] * a.max(2) {|a, b| a.length <=> b.length } #=> ["albatross", "horse"] + * [5, 1, 3, 4, 2].max(3) #=> [5, 4, 3] */ static VALUE @@ -1729,7 +1731,8 @@ min_by_i(RB_BLOCK_CALL_FUNC_ARGLIST(i, args)) * a.min_by { |x| x.length } #=> "dog" * * If the +n+ argument is given, minimum +n+ elements are returned - * as an array. + * as an array. These +n+ elements are sorted by the value from the + * given block. * * a = %w[albatross dog horse] * p a.min_by(2) {|x| x.length } #=> ["dog", "horse"] @@ -1788,8 +1791,9 @@ max_by_i(RB_BLOCK_CALL_FUNC_ARGLIST(i, args)) * a = %w(albatross dog horse) * a.max_by { |x| x.length } #=> "albatross" * - * If the +n+ argument is given, minimum +n+ elements are returned - * as an array. + * If the +n+ argument is given, maximum +n+ elements are returned + * as an array. These +n+ elements are sorted by the value from the + * given block, in descending order. * * a = %w[albatross dog horse] * a.max_by(2) {|x| x.length } #=> ["albatross", "horse"] diff --git a/version.h b/version.h index 18a9d2c99a..2b510615e1 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.2.7" #define RUBY_RELEASE_DATE "2017-03-26" -#define RUBY_PATCHLEVEL 444 +#define RUBY_PATCHLEVEL 445 #define RUBY_RELEASE_YEAR 2017 #define RUBY_RELEASE_MONTH 3 -- cgit v1.2.3