本文简要介绍ruby语言中 Enumerable.max
的用法。
用法
max → element
max(n) → array
max {|a, b| ... } → element
max(n) {|a, b| ... } → array
根据给定标准返回具有最大元素的元素。相等元素的顺序是不确定的并且可能是不稳定的。
没有参数也没有块,返回最大元素,使用元素自己的方法<=>
进行比较:
(1..4).max # => 4
(-4..-1).max # => -1
%w[d c b a].max # => "d"
{foo: 0, bar: 1, baz: 2}.max # => [:foo, 0]
[].max # => nil
给定正整数参数n
,并且没有块,返回一个数组,其中包含存在的第一个 n
最大元素:
(1..4).max(2) # => [4, 3]
(-4..-1).max(2) # => [-1, -2]
%w[d c b a].max(2) # => ["d", "c"]
{foo: 0, bar: 1, baz: 2}.max(2) # => [[:foo, 0], [:baz, 2]]
[].max(2) # => []
给定一个块,该块确定最大元素。使用两个元素 a
和 b
调用该块,并且必须返回:
-
如果
a < b
则为负整数。 -
如果
a == b
则为零。 -
如果
a > b
则为正整数。
给定块且不带参数,返回由块确定的最大元素:
%w[xxx x xxxx xx].max {|a, b| a.size <=> b.size } # => "xxxx"
h = {foo: 0, bar: 1, baz: 2}
h.max {|pair1, pair2| pair1[1] <=> pair2[1] } # => [:baz, 2]
[].max {|a, b| a <=> b } # => nil
使用给定的块和给定的正整数参数n
,返回一个数组,其中包含由块确定的存在的第一个 n
最大元素。
%w[xxx x xxxx xx].max(2) {|a, b| a.size <=> b.size } # => ["xxxx", "xxx"]
h = {foo: 0, bar: 1, baz: 2}
h.max(2) {|pair1, pair2| pair1[1] <=> pair2[1] }
# => [[:baz, 2], [:bar, 1]]
[].max(2) {|a, b| a <=> b } # => []
相关用法
- Ruby Enumerable.max_by用法及代码示例
- Ruby Enumerable.map用法及代码示例
- Ruby Enumerable.min_by用法及代码示例
- Ruby Enumerable.minmax用法及代码示例
- Ruby Enumerable.member?用法及代码示例
- Ruby Enumerable.min用法及代码示例
- Ruby Enumerable.minmax_by用法及代码示例
- Ruby Enumerable.any?用法及代码示例
- Ruby Enumerable.slice_before用法及代码示例
- Ruby Enumerable.uniq用法及代码示例
- Ruby Enumerable.find_all用法及代码示例
- Ruby Enumerable.find_index用法及代码示例
- Ruby Enumerable.drop用法及代码示例
- Ruby Enumerable.each_cons用法及代码示例
- Ruby Enumerable.entries用法及代码示例
- Ruby Enumerable.flat_map用法及代码示例
- Ruby Enumerable.reject用法及代码示例
- Ruby Enumerable.each_with_index用法及代码示例
- Ruby Enumerable.filter_map用法及代码示例
- Ruby Enumerable.sort用法及代码示例
- Ruby Enumerable.all?用法及代码示例
- Ruby Enumerable.take用法及代码示例
- Ruby Enumerable.reduce用法及代码示例
- Ruby Enumerable.each_with_object用法及代码示例
- Ruby Enumerable.sort_by用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Enumerable.max。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。