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


Ruby Enumerable.min用法及代碼示例


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

用法

min → element
min(n) → array
min {|a, b| ... } → element
min(n) {|a, b| ... } → array

根據給定標準返回具有最小元素的元素。相等元素的順序是不確定的並且可能是不穩定的。

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

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

給定正整數參數 n 且沒有塊,返回一個數組,其中包含存在的第一個 n 最小元素:

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

給定一個塊,該塊確定最小元素。使用兩個元素 ab 調用該塊,並且必須返回:

  • 如果 a < b 則為負整數。

  • 如果 a == b 則為零。

  • 如果 a > b 則為正整數。

給定塊且不帶參數,返回由塊確定的最小元素:

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

使用給定的塊和給定的正整數參數n,返回一個數組,其中包含由塊確定的存在的第一個 n 最小元素。

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

相關: min_by minmax max

相關用法


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