Module: DR::CoreExt::Enumerable

Defined in:
lib/dr/ruby_ext/core_modules.rb

Overview

[Hash, Array].each {|m| m.include(Enumerable)} #to reinclude

Instance Method Summary collapse

Instance Method Details

#classify(h) ⇒ Object

Ex: [1,2,3,4].classify([1,3], default: :even) => 3], :even=>[2, 4]



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/dr/ruby_ext/core_modules.rb', line 7

def classify(h)
	invh=h.inverse
	default=h[:default]
	r={}
	each do |el|
		keys=invh.fetch(el,[default])
		keys.each do |key|
			(r[key]||=[]) << el
		end
	end
	return r
end