如何使用ruby更好地返回指定范围内的值
我向如何使用ruby更好地返回指定范围内的值,ruby,Ruby,我向Numeric类添加了如下方法: class Numeric def limitate(min, max) return self if self.between?(min,max) return max if self > max min end end 如果值在指定的范围内,我想得到一个值,如果它在范围外,它应该返回最大值或最小值 我能写得更简单些吗?那怎么办呢?我觉得很遗憾,现在还没有。另一种书写方式是: v = [[v, min].max, m
Numeric
类添加了如下方法:
class Numeric
def limitate(min, max)
return self if self.between?(min,max)
return max if self > max
min
end
end
如果值在指定的范围内,我想得到一个值,如果它在范围外,它应该返回最大值或最小值
我能写得更简单些吗?那怎么办呢?我觉得很遗憾,现在还没有。另一种书写方式是:
v = [[v, min].max, max].min
可能首先要确保最小值低于最大值。
否则,如果用户忘记了哪一个应该先执行,
min
或max
,则您的方法将出现语义错误
min, max = max, min if min > max
另见: