Tôi thường viết mã để cung cấp một giá trị mặc định khi gặp phải giá trị nil/trống.Có được hỗ trợ trong đường ray cho thành ngữ thay thế giá trị mặc định không?
ví dụ:
category = order.category || "Any"
# OR
category = order.category.empty? ? "Any" : order.category
tôi về để kéo dài tuổi try
phương pháp để xử lý các thành ngữ này.
category = order.try(:category, :on_nill => "Any")
# OR
category = order.try(:category, :on_empty=> "Any")
Tôi tự hỏi liệu Rails/Ruby có phương pháp nào để xử lý thành ngữ này không?
Lưu ý:
Tôi cố gắng để loại bỏ sự lặp lại của các thành ngữ dựa ||/or/?
điều hành.
Về cơ bản, tôi đang tìm kiếm phương thức tương đương với phương thức try
để xử lý các trường hợp thay thế mặc định.
Without try
phương pháp:
product_id = user.orders.first.product_id unless user.orders.first.nil?
Với try
phương pháp:
product_id = user.orders.first.try(:product_id)
Nó rất dễ dàng để thực hiện một cách tiếp cận chung để xử lý thành ngữ này, nhưng tôi muốn chắc chắn rằng tôi không phát minh lại bánh xe.
Câu trả lời cực hay! – kamal