From: ara.t.howard@... Date: 2006-12-29T01:34:50+09:00 Subject: Re: Sorting an NArray On Fri, 29 Dec 2006, mekondelta wrote: > > I have a 2 dimensional array using NArray and wish to sort the values based > on the values in column zero or row zero. > > How can I achieve this using NArray? I can't even seem to get the basic sort > working:- > > matrix.sort(0) > > gives me a "..blah..:in `sort': undefined method `<=>' for nil:NilClass > (NoMethodError)" > > I know I can supply a block to the sort method but the documentation, such > that it is at:- > > http://narray.rubyforge.org/SPEC.en > > isn't that informative and implies that the above line should work? > > Any ideas greatly appreciated. > > Cheers, Chris. > harp:~ > ruby -r narray -e' p NArray.to_na([ [5,4,3], [2,1,0] ]) ' NArray.int(3,2): [ [ 5, 4, 3 ], [ 2, 1, 0 ] ] harp:~ > ruby -r narray -e' p NArray.to_na([ [5,4,3], [2,1,0] ]).shape ' [3, 2] harp:~ > ruby -r narray -e' p NArray.to_na([ [5,4,3], [2,1,0] ]).sort ' NArray.int(3,2): [ [ 0, 1, 2 ], [ 3, 4, 5 ] ] # # sort the 0th thru 0th dims # harp:~ > ruby -r narray -e' p NArray.to_na([ [5,4,3], [2,1,0] ]).sort(0) ' NArray.int(3,2): [ [ 3, 4, 5 ], [ 0, 1, 2 ] ] # # sort the 0th thru 1st dims # harp:~ > ruby -r narray -e' p NArray.to_na([ [5,4,3], [2,1,0] ]).sort(1) ' NArray.int(3,2): [ [ 0, 1, 2 ], [ 3, 4, 5 ] ] -a -- if you find yourself slandering anybody, first imagine that your mouth is filled with excrement. it will break you of the habit quickly enough. - the dalai lama