當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby Enumerable.minmax用法及代碼示例


本文簡要介紹ruby語言中 Enumerable.minmax 的用法。

用法

minmax → [minimum, maximum]
minmax {|a, b| ... } → [minimum, maximum]

根據給定的標準返回一個包含最小和最大元素的 2 元素數組。相等元素的順序是不確定的並且可能是不穩定的。

沒有參數也沒有塊,返回最小和最大元素,使用元素自己的方法<=>進行比較:

(1..4).minmax                   # => [1, 4]
(-4..-1).minmax                 # => [-4, -1]
%w[d c b a].minmax              # => ["a", "d"]
{foo: 0, bar: 1, baz: 2}.minmax # => [[:bar, 1], [:foo, 0]]
[].minmax                       # => [nil, nil]

在給定塊的情況下,返回由塊確定的最小和最大元素:

%w[xxx x xxxx xx].minmax {|a, b| a.size <=> b.size } # => ["x", "xxxx"]
h = {foo: 0, bar: 1, baz: 2}
h.minmax {|pair1, pair2| pair1[1] <=> pair2[1] }
# => [[:foo, 0], [:baz, 2]]
[].minmax {|a, b| a <=> b }                          # => [nil, nil]

相關: min max minmax_by

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Enumerable.minmax。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。