From: "Bartosz DziewoƄski" Date: 2012-06-26T05:12:35+09:00 Subject: Re: Enumerable#unassociate I still don't see why that would be better. Both of your methods are way too magical to be understandable. This, while longer, at least makes sense. a = [:a, 1, :b, 2, :a, 3] Hash[ a.each_slice(2).group_by{|s,n| s}.map{|k,v| [k, v.map{|s,n| n}] } ] #=> {:a=>[1,3], :b=>[2]} -- Matma Rex