From: Sam Larbi Date: 2007-11-27T00:15:12+09:00 Subject: Removing duplicates and substrings from an array ------=_Part_25147_28053732.1196090106613 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I've got an array of strings, say like: ["Bob", "John", "Bobby", "John"] I want to remove duplicates and elements that are substrings of other elements. Therefore, the above array would become: ["John","Bobby"] (order doesn't really matter to me, BTW) Right now, this is what I'm doing: def remove_duplicates_and_subsequences(some_array) result = [] some_array.each_index do |i| (some_array.length-1).downto 0 do |j| some_array.delete_at(j) if i != j && some_array[i].index(some_array[j]) end end return result end Is there a better way to do that? I feel like I should be using select or reject, but can't think of a way to do it. Thanks, Sammy Larbi ------=_Part_25147_28053732.1196090106613--