Existem maneiras mais elegantes de evitar números negativos no Ruby?
Como eu gostaria de fazer o seguinte cálculo:
total = subtotal - discount
Porquediscount
pode ser maior quesubtotal
, existe um código como o seguinte:
class Calculator
def initialize(subtotal: subtotal, discount: discount)
@subtotal = subtotal
@discount = discount
end
def total
[subtotal - discount, 0].max
end
private
def subtotal
@subtotal
end
def discount
@discount
end
end
Ao ver o[subtotal - discount, 0].max
parte ou qualquer código semelhante, muitas vezes tenho que fazer uma pausa e pensar.
Existem maneiras mais elegantes de lidar com esse tipo de cálculo?