Piszę aplikację Ruby w tej chwili, która będzie szukać twittera dla różnych rzeczy. Jednym z problemów, przed którymi stoję, są wspólne wyniki wyszukiwania w bliskiej odległości od siebie. Wyniki są zwracane w tablicy obiektów, z których każdy jest pojedynczym tweetem. Znam metodę Array.uniq w ruby, która zwraca tablicę ze wszystkimi usuniętymi duplikatami.Usuwanie obiektów identycznych w języku Ruby?
Moje pytanie jest takie. Czy metoda uniq usuwa duplikaty, o ile te obiekty wskazują tę samą przestrzeń w pamięci lub zawierają identyczne informacje?
Jeśli to pierwszy, jaki jest najlepszy sposób usunięcia duplikatów z tablicy na podstawie ich zawartości?
dzięki, zaimplementowałem wymaganą metodę w klasie i wygląda na to, że działa teraz. na szczęście jedyną rzeczą, którą naprawdę muszę porównać jest unikalny identyfikator każdego tweeta :) Zakładam, że 'other.class = self.class' powinno być' other.class == self.class'? –
Tak, masz rację. Naprawiony. –
Nie mogłem uruchomić tej funkcji bez nadpisywania metody 'hash'. Zobacz http://www.rabbitcreative.com/2008/01/23/comparing-custom-objects-in-ruby-using-uniq/ – spier