From: Ari Brown Date: 2007-08-19T22:00:32+09:00 Subject: Re: Detecting duplicates in an array, anything in the standard library ? On Aug 19, 2007, at 6:39 AM, Thibaut Barr�re wrote: > Hi! > > Just wondering if there is something simple already built in the std > library to remove duplicates from an array (or an enumerable). I've > seen and used various approaches, like: > > module Enumerable > def dups > inject({}) {|h,v| h[v]=h[v].to_i+1; h}.reject{|k,v| v==1}.keys > end > end > > which will give: > >> %w(a b c c).dups > => ["c"] > > Anything more elegant ? Couldn't you also just do a union with itself? a = %w(a b c b a) b = a & a #=> ["a", "b", "c"] Score one for me :-)) ~ Ari English is like a pseudo-random number generator - there are a bajillion rules to it, but nobody cares.