From: Bertram Scharpf Date: 2009-02-13T22:25:59+09:00 Subject: Re: How to retrive first 10 items from hash in ruby? Hi, Am Freitag, 13. Feb 2009, 22:02:31 +0900 schrieb David A. Black: > On Fri, 13 Feb 2009, Bertram Scharpf wrote: >> Am Freitag, 13. Feb 2009, 21:08:19 +0900 schrieb Dave Baldwin: >>> On 13 Feb 2009, at 11:04, Vikas Gholap wrote: >>> >>>> I want to retrieve first 10 items(key value pairs) from given hash{} >>>> >>> ary = hashTable.sort {|a,b| -1*(a[1]<=>b[1])} >>> >> As ary is only of temporary use, you don't need to create another >> array ary[0,10]. I suggest: >> >> 10.times { puts "Key: %s ==> %s" % e.shift } > > Do you mean ary.shift? Arrgh. Of course. The code may still be improved: Omit the multiplication by -1 in the sort block. ary = hashTable.sort { |a,b| a[1]<=>b[1] } 10.times { puts "Key: %s ==> %s" % ary.pop } Bertram -- Bertram Scharpf Stuttgart, Deutschland/Germany http://www.bertram-scharpf.de