作者:gaoyong0713 | 来源:互联网 | 2023-02-05 16:47
我试图找出在ruby中有一个减法块的最佳方法,1
如果结果小于,则结果默认为1
.
我尝试了一个三元运算符,但0
结果显然是正确的:
(2 - 2) ? (2 - 2) : 1
是否有表达简洁的方式4 - 2 = 2
,2 - 2 = 1
和3 - 2 = 1
?
1> Andrey Deine..:
你可以使用Enumerable#max
:
def special_subtraction(a, b)
[a - b, 1].max
end
special_subtraction(4, 2)
#=> 2
special_subtraction(2, 2)
#=> 1
special_subtraction(3, 2)
#=> 1
PS
我尝试了一个三元运算符,但0
结果显然是正确的:
在Ruby中,所有人都期望nil
并且false
被认为是真实的.
`[a - b,1] .max` :)
当然,拿它:)