Я часто пишу код для предоставления значения по умолчанию при столкновении с нулевым/пустым значением.
например:
category = order.category || "Any"
# OR
category = order.category.empty? ? "Any" : order.category
Я собираюсь расширить метод try
для обработки этой идиомы.
category = order.try(:category, :on_nill => "Any")
# OR
category = order.try(:category, :on_empty=> "Any")
Мне интересно, имеет ли Rails/Ruby какой-либо метод обработки этой идиомы?
Примечание:
Я пытаюсь исключить повторение терминов || / or / ?
на основе оператора.
По сути, я ищу эквивалент метода try
для обработки сценариев замены по умолчанию.
Без try
метода:
product_id = user.orders.first.product_id unless user.orders.first.nil?
С помощью метода try
:
product_id = user.orders.first.try(:product_id)
Легко реализовать общий подход для обработки этой идиомы, но я хочу убедиться, что я не изобретаю колесо.