Mam model sprzedającego, który ma wiele rzeczy.Traktowanie zero jako zero w sumie funkcji
Chcę uzyskać całkowitą cenę sprzedaży wszystkich przedmiotów Sprzedawcy.
W seller.rb mam
def total_item_cost
items.to_a.sum(&:sale_price)
end
Działa to dobrze, jeśli wszystkie elementy mają ceny sprzedaży.
Jeśli jednak nie zostały jeszcze sprzedane, sale_price
jest zerowe, a total_item_cost
zrywa.
W mojej aplikacji sale_price
może być zero lub zero.
W mojej metodzie total_item_cost
, jak mogę traktować wartości nil
jako zera?
Czy nie byłoby lepiej, aby zdefiniować SALE_PRICE jako metody i sprawiają, że zawsze zwraca 0? Byłoby to moje osobiste preferencje, ponieważ zachowuje całą wiedzę na temat wartości sale_price, gdzie należy, intead rozprzestrzeniania całej aplikacji w postaci 'if sale_price.nil?'. – berkes
To w rzeczywistości aukcja - przedmiot można "sprzedać" za 0 (co oznacza, że nikt go nie chciał). Nil oznacza, że nie została jeszcze sprzedana na aukcji, a zero oznacza, że minęło. Mam inne definicje, aby to śledzić. –