値をインクリメント/デクリメントできるメソッドのセットが欲しいのですが、下限はゼロです。
基本的に:
def decrement
@value -= 1
end
ただし、ゼロより低くしたくありません。
これを行うための最良の「ルビーの方法」は何ですか?
def decrement
@value -= 1 unless @value.zero?
end
または、例外をスローしたい場合:
def decrement
raise RangeError, "can't decrement below zero" if @value.zero?
@value -= 1
end
def decrement
@value = [@value-1, 0].max
end
def decrement(value)
value -= 1 if value - 1 >= 0
end
def decrement
@value -= 1 unless @value - 1 < 0
end