Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
[1, 1, 1, 1, 2, 2, 3].to_histogram
=> {1 => 3, 2 => 2, 3 => 1}
@bradland

This comment has been minimized.

Copy link

@bradland bradland commented Mar 20, 2013

There's probably a cleaner/better way to do this.

class Array
  def to_histogram
    output = Hash.new(0)
    self.each do |i|
      output[i] += 1
    end
    output
  end
end

puts [1, 1, 1, 1, 2, 2, 3].to_histogram.inspect
  # => {1=>4, 2=>2, 3=>1}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.