23 24 25 26
# File 'lib/ect.rb', line 23 def dissect inject([]) { |a, elt| (a[yield(elt)] ||= []) << elt; a } end
28 29 30 31
# File 'lib/ect.rb', line 28 def elect find { |elt| r = yield(elt); break r if r } end