Tôi có một lớp Ruby
class MyClass
attr_writer :item1, :item2
end
my_array = get_array_of_my_class() #my_array is an array of MyClass
unique_array_of_item1 = []
Tôi muốn đẩy MyClass#item1đến unique_array_of_item1, nhưng chỉ khi unique_array_of_item1chưa chứa nó item1. Có một giải pháp đơn giản mà tôi biết: chỉ cần lặp lại my_arrayvà kiểm tra xem unique_array_of_item1đã chứa hiện tại item1hay chưa.
Có giải pháp nào hiệu quả hơn không?
Set#eachvàSet#to_a) ủy quyền@hash. Và kể từ Ruby 1.9 Hashes được đặt hàng. "Hàm băm liệt kê các giá trị của chúng theo thứ tự các khóa tương ứng đã được chèn vào." ruby-doc.org/core-1.9.1/Hash.html