我希望有一组方法可以递增/递减一个值,但下限为零。
基本上:
def decrement
@value -= 1
end
除此之外,我不希望它低于零。
这样做最好的“红宝石方式”是什么?
答案 0 :(得分:6)
def decrement
@value -= 1 unless @value.zero?
end
或者如果您想抛出异常:
def decrement
raise RangeError, "can't decrement below zero" if @value.zero?
@value -= 1
end
答案 1 :(得分:4)
def decrement
@value = [@value-1, 0].max
end
答案 2 :(得分:1)
def decrement(value)
value -= 1 if value - 1 >= 0
end
答案 3 :(得分:1)
def decrement
@value -= 1 unless @value - 1 < 0
end