Sha256: 3df279a908d6222847984cfc492e37ba341300aea94e18f7df900f3e909ce3db

Contents?: true

Size: 375 Bytes

Versions: 3

Compression:

Stored size: 375 Bytes

Contents

class Array

  # Returns a list of non-unique elements.
  #
  # Examples
  #
  #   [1,1,2,2,3,4,5].nonuniq  #=> [1,2]
  #
  # CREDIT: Martin DeMello

  def nonuniq
    h1 = {}
    h2 = {}
    each {|i|
      h2[i] = true if h1[i]
      h1[i] = true
    }
    h2.keys
  end

  # Same as `#nonuniq` but acts in place.

  def nonuniq!
    self.replace(self.nonuniq)
  end

end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
facets-glimmer-3.2.0 lib/core/facets/array/nonuniq.rb
facets-3.1.0 lib/core/facets/array/nonuniq.rb
facets-3.0.0 lib/core/facets/array/nonuniq.rb