Tôi muốn kiểm tra xem một băm có khóa có chứa một số văn bản hay không. Nó có thể không phải là khóa chính xác, nhưng khóa phải chứa (như .include?
) văn bản. Giải pháp của tôi cho việc này là:Kiểm tra xem băm có khóa có chứa một số văn bản
some_hash.select {|k,v| k.include? "foo"}.empty?
Nhưng điều này sẽ tạo thêm một băm nữa. Tôi chỉ muốn kiểm tra sự tồn tại của chìa khóa. Có cách nào tốt hơn để làm điều đó không?
Tuyệt vời! Cảm ơn! –
Phần giữa của bạn không hoạt động, vì nó gán một mảng khóa/giá trị cho "khóa", và sau đó bạn nhận được Array.include ?, không phải String.include ?, không thực hiện so khớp từng phần. Kiểm tra thời gian nhanh cho thấy cách cuối cùng của bạn, điều tôi đồng ý dễ đọc hơn, cũng nhanh hơn một chút so với cách đầu tiên của bạn. –
@glenn mcdonald: Ah! Rằng nó sẽ là một mảng k/v là bản năng đầu tiên của tôi, nhưng do một tai nạn hạnh phúc trường hợp thử nghiệm của tôi đã làm việc :) Đã chỉnh sửa, cảm ơn/+ 1! – jtbandes