本文簡要介紹ruby語言中 Comparable.clamp
的用法。
用法
clamp(min, max) → obj
clamp(range) → obj
在(min, max)
形式中,如果obj
<=>
min
小於零,則返回min
,如果obj
<=>
max
大於零,則返回max
,否則返回obj
。
12.clamp(0, 100) #=> 12
523.clamp(0, 100) #=> 100
-3.123.clamp(0, 100) #=> 0
'd'.clamp('a', 'f') #=> 'd'
'z'.clamp('a', 'f') #=> 'f'
在(range)
形式中,如果obj
<=>
range.begin
小於零,則返回range.begin
,如果obj
<=>
range.end
大於零,則返回range.end
,否則返回obj
。
12.clamp(0..100) #=> 12
523.clamp(0..100) #=> 100
-3.123.clamp(0..100) #=> 0
'd'.clamp('a'..'f') #=> 'd'
'z'.clamp('a'..'f') #=> 'f'
如果 range.begin
是 nil
,則認為它小於 obj
,如果 range.end
是 nil
,則認為它大於 obj
。
-20.clamp(0..) #=> 0
523.clamp(..100) #=> 100
當排除 range.end
而不是 nil
時,會引發異常。
100.clamp(0...100) # ArgumentError
相關用法
- Ruby Comparable.between?用法及代碼示例
- Ruby Comparable模塊用法及代碼示例
- Ruby Complex.arg用法及代碼示例
- Ruby ComposedSet類用法及代碼示例
- Ruby Complex.abs2用法及代碼示例
- Ruby Complex.angle用法及代碼示例
- Ruby Complex.polar用法及代碼示例
- Ruby Complex.to_f用法及代碼示例
- Ruby Complex.cmp / numeric用法及代碼示例
- Ruby Complex.conj用法及代碼示例
- Ruby Complex類用法及代碼示例
- Ruby Complex.infinite?用法及代碼示例
- Ruby Complex.abs用法及代碼示例
- Ruby Complex conjugate()用法及代碼示例
- Ruby Complex.phase用法及代碼示例
- Ruby Complex.rationalize用法及代碼示例
- Ruby Complex.cmp ==用法及代碼示例
- Ruby Complex.imaginary用法及代碼示例
- Ruby Complex.cmp * numeric用法及代碼示例
- Ruby Complex.fdiv用法及代碼示例
- Ruby Complex.rect用法及代碼示例
- Ruby Complex.inspect用法及代碼示例
- Ruby Complex abs用法及代碼示例
- Ruby Complex.magnitude用法及代碼示例
- Ruby Complex.-cmp用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Comparable.clamp。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。