繁体   English   中英

红宝石递减限制

[英]Ruby decrement to limit

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

基本上:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM