1

我想要一组可以增加/减少值的方法,但下限为零。

基本上:

def decrement
  @value -= 1
end

除了,我不希望它低于零。

做到这一点的最佳“红宝石方式”是什么?

4

4 回答 4

6
def decrement
  @value -= 1 unless @value.zero?
end

或者,如果您想抛出异常:

def decrement
  raise RangeError, "can't decrement below zero" if @value.zero?
  @value -= 1
end
于 2011-03-01T23:23:01.703 回答
4
def decrement
  @value = [@value-1, 0].max
end
于 2011-03-01T23:23:10.357 回答
1
def decrement(value)
  value -= 1 if value - 1 >= 0
end
于 2011-03-01T23:23:13.740 回答
1
def decrement
  @value -= 1 unless @value - 1 < 0
end
于 2011-03-01T23:32:04.787 回答