From: Wilson Bilkovich Date: 2006-10-14T08:11:11+09:00 Subject: Re: Sorting through an array of an array On 10/13/06, Dominic Son wrote: > But how to do apply this to having 3 elements in the value of an array? > > container.sort_by { |x,y,z| *lost here* > puts x
> puts y
> puts z
> } Having more entries in the array doesn't change the number of arguments to the block. a = [] a << [1,2,3] a << [4,5,6] a << [7,8,9] a.sort_by do |element| [element[0], element[1], element[2]] end If you return an Array from sort_by's block, it will sort on the entries of the array in order. In this trivial case, since you're sorting by all three, you could just write the above as: a.sort_by {|e| e} (since 'e' is already an Array in the proper order)