本文简要介绍ruby语言中 Range.min
的用法。
用法
min → object
min(n) → array
min {|a, b| ... } → object
min(n) {|a, b| ... } → array
返回 self
中的最小值,使用方法 <=>
或给定块进行比较。
没有参数也没有给出块,返回 self
的 minimum-valued 元素。
(1..4).min # => 1
('a'..'d').min # => "a"
(-4..-1).min # => -4
在给定非负整数参数 n
且未给出块的情况下,返回数组中 self
的 n
minimum-valued 元素:
(1..4).min(2) # => [1, 2]
('a'..'d').min(2) # => ["a", "b"]
(-4..-1).min(2) # => [-4, -3]
(1..4).min(50) # => [1, 2, 3, 4]
如果给定一个块,则调用它:
-
首先,使用
self
的前两个元素。 -
然后,依次使用 so-far 最小值和
self
的下一个元素。
为了显示:
(1..4).min {|a, b| p [a, b]; a <=> b } # => 1
输出:
[2, 1]
[3, 1]
[4, 1]
没有参数和给定块,返回最后一次调用块的返回值:
(1..4).min {|a, b| -(a <=> b) } # => 4
给定非负整数参数 n
和一个块,返回最后一个 n
调用数组中的块的返回值:
(1..4).min(2) {|a, b| -(a <=> b) } # => [4, 3]
(1..4).min(50) {|a, b| -(a <=> b) } # => [4, 3, 2, 1]
如果 n
为零,则返回一个空数组:
(1..4).min(0) # => []
(1..4).min(0) {|a, b| -(a <=> b) } # => []
如果满足以下条件,则返回 nil
或空数组:
-
范围的开始值大于结束值:
(4..1).min # => nil (4..1).min(2) # => [] (4..1).min {|a, b| -(a <=> b) } # => nil (4..1).min(2) {|a, b| -(a <=> b) } # => []
-
独占范围的开始值等于结束值:
(1...1).min # => nil (1...1).min(2) # => [] (1...1).min {|a, b| -(a <=> b) } # => nil (1...1).min(2) {|a, b| -(a <=> b) } # => []
如果出现以下任一情况,则引发异常:
-
self
是一个无始范围:(..4)
。 -
给定一个块,
self
是一个无限范围。
相关: Range#max
, Range#minmax
。
相关用法
- Ruby Range.minmax用法及代码示例
- 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.min。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。