From: Ryan Davis Date: 2010-12-12T22:04:19+09:00 Subject: [ruby-core:33685] Re: [feature:trunk] Enumerable#categorize On Dec 12, 2010, at 04:38 , Martin J. D�rst wrote: > h = {} > (0..10).each do |e| > h[e%3] ||= [] > h[e%3] << e%5 > end > p h > > Or shorter: > > h = {} > (0..10).each { |e| (h[e%3] ||= []) << e%5 } > p h Or shorter (and faster) still: h = Hash.new { |h,k| h[k] = [] } (0..10).each { |e| h[e%3] << e%5 } p h