From: dblack@... Date: 2003-01-14T02:13:20+09:00 Subject: Re: sorting with the Swartzian transform Hi -- On Tue, 14 Jan 2003, Daniel Carrera wrote: > On Mon, 13 Jan 2003, Bulat Ziganshin wrote: > > > Hello Martin, > > > > Sunday, January 12, 2003, 11:48:27 AM, you wrote: > > > > MD> class Array > > MD> def ssort(&block) > > MD> map {{|i| [&block.call(i), i]}\ > > MD> .sort {|a,b| a[0] <=> b[0]}\ > > > > just ".sort" will be faster (in most cases :) > > Yes, but it does something different. '.sort' sorts in ASCIIbetical > order (so 10 comes before 2) , whereas <=> is a numerical sort. "10" (string) comes before "2", but 2 comes before 10: irb(main):008:0> [10,2].sort => [2, 10] irb(main):009:0> ["10","2"].sort => ["10", "2"] (both based on <=>) David -- David Alan Black home: dblack@candle.superlink.net work: blackdav@shu.edu Web: http://pirate.shu.edu/~blackdav