From: Robert Dober Date: 2007-05-01T07:03:00+09:00 Subject: Re: Array.which_long? ( I coded an extension for Array ) On 4/30/07, Robert Klemme wrote: > >> > >> def longest > >> lg = Hash.new {|h,k| h[k] = []} > >> each {|x| lg[x.size] << x} > >> lg.sort_by {|k,v| k}.last.pop > >> end > > good idea but I wanted inject :) > >> > > That's an easy transformation (left as exercise for the reader, bonus > points for a one liner). :-) inject( Hash.new{ |h,k| h[k]=[]} ){|h,e| h[e.size] << e}.sort_by.... as this is not readable anymore let me golf a little bit inject([]){|a,e| a[e.size] = (a[e.size]||[])+[e];a}.last hmm that is not too bad ;) Robert > > Cheers > > robert > > -- You see things; and you say Why? But I dream things that never were; and I say Why not? -- George Bernard Shaw