我無法用傳統的Ruby方法從數組user_list中刪除所有重複的對象,從而達不到預期的結果。有沒有一種聰明的方法來解決這個問題?Ruby從數組中刪除重複的對象
users = []
user_list.each do |u|
user = User.find_by_id(u.user_id)
users << user
#users << user unless users.include?(user) # does not work
end
#users = users.uniq # does not work
'uniq'真的應該工作。你可以展示你測試它的步驟以及你的結果是什麼?什麼是用戶數組中對象的類,以及它們的'=='運算符是如何定義的?這是Ruby on Rails嗎? –
你使用的是Rails 4還是Rails 3?哦,對,你是否使用鐵軌?如果不是,什麼是User類? – nzifnab
嗨,大家好,這是一場虛驚!我用錯誤格式的數據調用了該方法。 users.uniq確實在工作!謝謝你的幫助。 – user2041343