[#91458] [Ruby trunk Feature#4475] default variable name for parameter — matz@...
Issue #4475 has been updated by matz (Yukihiro Matsumoto).
3 messages
2019/02/07
[ruby-core:91434] [Ruby trunk Feature#15590] Add dups to Array to find duplicates
From:
tad.a.digger@...
Date:
2019-02-06 14:20:17 UTC
List:
ruby-core #91434
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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>