Tôi đang viết một ứng dụng Ruby tại thời điểm này sẽ tìm kiếm twitter cho nhiều thứ khác nhau. Một trong những vấn đề tôi sẽ phải đối mặt là kết quả được chia sẻ giữa các tìm kiếm gần với nhau theo thời gian. Các kết quả được trả về trong một mảng các đối tượng, mỗi đối tượng là một tweet đơn. Tôi biết phương pháp Array.uniq trong ruby trả về một mảng với tất cả các bản sao đã bị loại bỏ.Xóa đối tượng giống hệt trong Ruby?
Câu hỏi của tôi là vậy. Phương thức uniq có loại bỏ các bản sao cho đến khi các đối tượng này trỏ đến cùng một không gian trong bộ nhớ hoặc chúng chứa thông tin giống nhau không?
Nếu trước đây, cách tốt nhất để xóa các bản sao khỏi một mảng dựa trên nội dung của chúng là gì?
cảm ơn, tôi đã triển khai phương pháp được yêu cầu trong lớp và có vẻ như giờ đây bạn đang làm việc. may mắn là điều duy nhất tôi thực sự cần so sánh là ID duy nhất cho mỗi tweet :) Tôi đoán rằng 'other.class = self.class' phải là' other.class == self.class'? –
Có, bạn đã đúng. Đã sửa. –
Tôi không thể làm việc này mà không ghi đè phương thức 'băm'. Xem http://www.rabbitcreative.com/2008/01/23/comparing-custom-objects-in-ruby-using-uniq/ – spier