本文簡要介紹ruby語言中 Range.minmax
的用法。
用法
minmax → [object, object]
minmax {|a, b| ... } → [object, object]
根據比較方法 <=>
或給定塊,返回包含 self
中的最小值和最大值的 2 元素數組。
沒有給出塊,返回最小值和最大值,使用<=>
進行比較:
(1..4).minmax # => [1, 4]
(1...4).minmax # => [1, 3]
('a'..'d').minmax # => ["a", "d"]
(-4..-1).minmax # => [-4, -1]
給定一個塊,該塊必須返回一個整數:
-
如果
a
小於b
,則為負數。 -
如果
a
和b
相等,則為零。 -
如果
a
大於b
,則為正。
該塊被調用self.size
次來比較元素;根據塊返回一個 2 元素 Array
包含來自 self
的最小值和最大值:
(1..4).minmax {|a, b| -(a <=> b) } # => [4, 1]
如果出現以下情況,則返回 [nil, nil]
:
-
範圍的開始值大於結束值:
(4..1).minmax # => [nil, nil] (4..1).minmax {|a, b| -(a <=> b) } # => [nil, nil]
-
獨占範圍的開始值等於結束值:
(1...1).minmax # => [nil, nil] (1...1).minmax {|a, b| -(a <=> b) } # => [nil, nil]
如果 self
是無開始或無止境範圍,則引發異常。
相關用法
- Ruby Range.min用法及代碼示例
- Ruby Range.max用法及代碼示例
- Ruby Range.member?用法及代碼示例
- Ruby Range.end用法及代碼示例
- Ruby Range.size用法及代碼示例
- Ruby Range.last用法及代碼示例
- Ruby Range.new用法及代碼示例
- Ruby Range.exclude_end?用法及代碼示例
- Ruby Range.count用法及代碼示例
- Ruby Range.self ==用法及代碼示例
- Ruby Range.eql?用法及代碼示例
- Ruby Range.begin用法及代碼示例
- Ruby Range.step用法及代碼示例
- Ruby Range.first用法及代碼示例
- Ruby Range.self ===用法及代碼示例
- Ruby Range.each用法及代碼示例
- Ruby Range.%用法及代碼示例
- Ruby Range.cover?用法及代碼示例
- Ruby Range.entries用法及代碼示例
- Ruby Range.to_s用法及代碼示例
- Ruby Range.to_a用法及代碼示例
- Ruby Range.include?用法及代碼示例
- Ruby Range.inspect用法及代碼示例
- Ruby Range new()用法及代碼示例
- Ruby Range last()用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Range.minmax。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。