From: dblack@... Date: 2007-01-10T00:07:01+09:00 Subject: Re: sortung a structured array on more than one criteria Hi -- On Wed, 10 Jan 2007, Josselin wrote: > On 2007-01-09 15:53:13 +0100, "Jan Svitok" said: > >> On 1/9/07, Josselin wrote: >>> On 2007-01-09 15:29:43 +0100, Josselin said: >>> >>> > I can sort an array like that : >>> > >>> > results = rs.sort_by{|p| p.km} >>> > >>> > but I tried to add a scrond sorting criteria like that : >>> > >>> > results = rs.sort_by{|p| p.km, p.updated_at } >>> > >>> > and I got obviously an error ... parse error, unexpected '}', >>> > expecting tCOLON2 or '[' or '.' >>> > >>> > canot find the correct writing.. >>> > >>> > appreciate any help... >>> > >>> > thanks >>> > >>> > joss >>> >>> thanks to both of you... and HNY%2007 (Dry version of Happy New Year >>> 2007) ;-)) >>> >>> I forgot to ask about a DESC sort.... p.km is Ascending and >>> p.updated_at should be DESC.. >>> >>> I am not sure that is possible (at least not documented.....) >>> >>> joss >> >> results = rs.sort_by{|p| p.km, -p.updated_at } # if updated_at is Numeric >> >> or >> >> results = rs.sort { |a,b| [a.km, b.updated_at] <=> [b.km, a.updated_at] } > > thanks , 'updated_at' is a string ( "2007-01-04 13:48:30") > I try to understand the writing... why the first parameter will be Ascending > and the second Descending ... > > how would you write it, if both parameters shoudl be Descending ? results = rs.sort_by {...}.reverse David -- Q. What is THE Ruby book for Rails developers? A. RUBY FOR RAILS by David A. Black (http://www.manning.com/black) (See what readers are saying! http://www.rubypal.com/r4rrevs.pdf) Q. Where can I get Ruby/Rails on-site training, consulting, coaching? A. Ruby Power and Light, LLC (http://www.rubypal.com)