本文簡要介紹ruby語言中 Range.max
的用法。
用法
max → object
max(n) → array
max {|a, b| ... } → object
max(n) {|a, b| ... } → array
返回 self
中的最大值,使用方法 <=>
或給定塊進行比較。
沒有參數也沒有給出塊,返回 self
的 maximum-valued 元素。
(1..4).max # => 4
('a'..'d').max # => "d"
(-4..-1).max # => -1
在給定非負整數參數 n
且未給出塊的情況下,返回數組中 self
的 n
maximum-valued 元素:
(1..4).max(2) # => [4, 3]
('a'..'d').max(2) # => ["d", "c"]
(-4..-1).max(2) # => [-1, -2]
(1..4).max(50) # => [4, 3, 2, 1]
如果給定一個塊,則調用它:
-
首先,使用
self
的前兩個元素。 -
然後,依次使用 so-far 最大值和
self
的下一個元素。
為了顯示:
(1..4).max {|a, b| p [a, b]; a <=> b } # => 4
輸出:
[2, 1]
[3, 2]
[4, 3]
沒有參數和給定塊,返回最後一次調用塊的返回值:
(1..4).max {|a, b| -(a <=> b) } # => 1
給定非負整數參數 n
和一個塊,返回最後一個 n
調用數組中的塊的返回值:
(1..4).max(2) {|a, b| -(a <=> b) } # => [1, 2]
(1..4).max(50) {|a, b| -(a <=> b) } # => [1, 2, 3, 4]
如果 n
為零,則返回一個空數組:
(1..4).max(0) # => []
(1..4).max(0) {|a, b| -(a <=> b) } # => []
如果滿足以下條件,則返回 nil
或空數組:
-
範圍的開始值大於結束值:
(4..1).max # => nil (4..1).max(2) # => [] (4..1).max {|a, b| -(a <=> b) } # => nil (4..1).max(2) {|a, b| -(a <=> b) } # => []
-
獨占範圍的開始值等於結束值:
(1...1).max # => nil (1...1).max(2) # => [] (1...1).max {|a, b| -(a <=> b) } # => nil (1...1).max(2) {|a, b| -(a <=> b) } # => []
如果出現以下任一情況,則引發異常:
-
self
是無限範圍:(1..)
。 -
給定一個塊,
self
是一個無開始的範圍。
相關: Range#min
, Range#minmax
。
相關用法
- Ruby Range.min用法及代碼示例
- Ruby Range.member?用法及代碼示例
- Ruby Range.minmax用法及代碼示例
- 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.max。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。