# File lib/histogram.rb, line 35 def add(key,count=1) if key.kind_of? Array key.each { |member| if member.kind_of? Array if member.size == 1 add(member[0]) elsif (member.size == 2) && (member[1].kind_of? Fixnum) add(member[0],member[1]) else raise HistogramException, "add cannot interpret Array to add" end else add member end } elsif key.kind_of? Histogram key.each_pair { |k,v| add(k,v) } else self[key] = ((value = self[key]) == nil) ? count : value+count end self end