From: tad.a.digger@... Date: 2019-02-06T14:20:17+00:00 Subject: [ruby-core:91434] [Ruby trunk Feature#15590] Add dups to Array to find duplicates Issue #15590 has been updated by tad (Tadashi Saito). How about `Set#add?` ? ```ruby require 'set' a = ["Tokyo", "Paris", "London", "Miami", "Paris", "Orlando", "Dubai", "Tokyo", "Paris"] s = Set.new p a.select{|e| !s.add?(e)} #=> ["Paris", "Tokyo", "Paris"] ``` ---------------------------------------- Feature #15590: Add dups to Array to find duplicates https://bugs.ruby-lang.org/issues/15590#change-76693 * Author: xdmx (Eric Bloom) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Many times I find myself debugging data and the need of finding duplicated values inside of an Array. Based on the amount of data it could be a simple `array.detect { |value| array.count(value) > 1 }` or a more performant way like ```ruby def dups_for(array) duplicated_values = [] tmp = {} array.each do |value| duplicated_values << value if tmp[value] tmp[value] = true end duplicated_values end ``` It would be awesome if there was a way directly from the core language to call `dups` (or another name, as it could be too similar to the current `dup`) on an array in order to get all the duplicated values. I'd love to create a PR for this, but my C level is non-existent ���� -- https://bugs.ruby-lang.org/ Unsubscribe: