代码之家  ›  专栏  ›  技术社区  ›  Shubham

如何在Ruby中uniquify数组?

  •  2
  • Shubham  · 技术社区  · 16 年前

    我知道” .uniq “方法,但在这里不起作用。我在一个数组中推送了Mechanize链接实例并应用了它,但它并没有删除重复项。这是数组。。

    #<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">,
    

    但使用后仍然是。” “结果是一样的。这是我正在使用的ruby代码。。

    page.links.each {|link| 
        page_links.push link if link.href =~ /inquiry-results/i and link.text =~ /[0-9]+/
    }
    
    1 回复  |  直到 16 年前
        1
  •  8
  •   Marc-André Lafortune    16 年前

    Array#uniq 使用 hash eql? 对象的方法。确保为您的对象正确定义了这些,否则请使用 uniq_by