¿Hay formas más elegantes de evitar números negativos en Ruby?
Dado que me gustaría hacer el siguiente cálculo:
total = subtotal - discount
Porquediscount
podría ser mayor quesubtotal
, hay un código como el siguiente:
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
Al ver el[subtotal - discount, 0].max
parte o cualquier código similar, a menudo tengo que hacer una pausa y pensar.
¿Hay formas más elegantes de manejar este tipo de cálculo?