2010-08-13 45 views
2

我知道「.uniq」方法,但它在這裏不起作用。我將Mechanize鏈接實例推送到一個數組中並應用它,但它不會刪除重複項。這裏是陣列..如何在Ruby中唯一化數組?

#<Mechanize::Page::Link "2" "/inquiry/inquiry-results.jsp?d-16544-p=2&middleName=&firstName=&lastName=JOHN">, 
#<Mechanize::Page::Link "3" "/inquiry/inquiry-results.jsp?d-16544-p=3&middleName=&firstName=&lastName=JOHN">, 
#<Mechanize::Page::Link "4" "/inquiry/inquiry-results.jsp?d-16544-p=4&middleName=&firstName=&lastName=JOHN">, 
...................................................................................... 
#<Mechanize::Page::Link "2" "/inquiry/inquiry-results.jsp?d-16544-p=2&middleName=&firstName=&lastName=JOHN">, 
#<Mechanize::Page::Link "3" "/inquiry/inquiry-results.jsp?d-16544-p=3&middleName=&firstName=&lastName=JOHN">, 
#<Mechanize::Page::Link "4" "/inquiry/inquiry-results.jsp?d-16544-p=4&middleName=&firstName=&lastName=JOHN">, 
#<Mechanize::Page::Link "5" "/inquiry/inquiry-results.jsp?d-16544-p=5&middleName=&firstName=&lastName=JOHN">, 
#<Mechanize::Page::Link "6" "/inquiry/inquiry-results.jsp?d-16544-p=6&middleName=&firstName=&lastName=JOHN">, 

但仍在使用後。「.uniq」結果是一樣的。這裏是我使用Ruby代碼..

page.links.each {|link| 
    page_links.push link if link.href =~ /inquiry-results/i and link.text =~ /[0-9]+/ 
} 
+0

該帖子與您的相關:http://stackoverflow.com/questions/109781/uniq-by-object-attribute-in-ruby – 2010-08-13 06:51:18

+0

@floatless 謝謝!問題解決了! – Shubham 2010-08-13 06:59:05

回答

8

Array#uniq使用對象的hasheql?方法。確保這些對象的定義正確,否則使用uniq_by與您的標準。