Method: Nuggets::Array::ModeMixin#mode
- Defined in:
- lib/nuggets/array/mode_mixin.rb
#mode(all = false, &block) ⇒ Object
call-seq:
array.mode => anObject
array.mode(+true+) => anArray
Returns the mode of the values in array (via #histogram).
If parameter true is passed, an Array of all modes is returned.
45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/nuggets/array/mode_mixin.rb', line 45 def mode(all = false, &block) hist, modes = histogram(&block), [] freq = hist.values.max hist.each { |key, value| if value == freq modes << key break unless all end } all ? modes : modes.first end |