Sha256: 75d43654483cbf5b282c0b7a3b9fee7d11711a8df010b1c06ca670cd220146ef

Contents?: true

Size: 578 Bytes

Versions: 11

Compression:

Stored size: 578 Bytes

Contents

module Misc
  def self.intersect_sorted_arrays(a1, a2)
    e1, e2 = a1.shift, a2.shift
    intersect = []
    while true
      break if e1.nil? or e2.nil?
      case e1 <=> e2
      when 0
        intersect << e1
        e1, e2 = a1.shift, a2.shift
      when -1
        e1 = a1.shift while not e1.nil? and e1 < e2
      when 1
        e2 = a2.shift
        e2 = a2.shift while not e2.nil? and e2 < e1
      end
    end
    intersect
  end

  def self.counts(array)
    counts = {}
    array.each do |e|
      counts[e] ||= 0
      counts[e] += 1
    end

    counts
  end

end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
scout-essentials-1.3.1 lib/scout/misc/helper.rb
scout-essentials-1.3.0 lib/scout/misc/helper.rb
scout-essentials-1.2.0 lib/scout/misc/helper.rb
scout-essentials-1.1.1 lib/scout/misc/helper.rb
scout-essentials-1.1.0 lib/scout/misc/helper.rb
scout-essentials-1.0.0 lib/scout/misc/helper.rb
scout-gear-9.1.0 lib/scout/misc/helper.rb
scout-gear-9.0.0 lib/scout/misc/helper.rb
scout-gear-8.1.0 lib/scout/misc/helper.rb
scout-gear-8.0.0 lib/scout/misc/helper.rb
scout-gear-7.3.0 lib/scout/misc/helper.rb