Re: Sorting a collection of elements according to a given list of elements

2015-03-19 Thread Fluid Dynamics
On Thursday, March 19, 2015 at 8:53:37 AM UTC-4, Henrik Heine wrote: > > Hi, > > I want to sort a set/map according to an ordering given by a seq of > elements - e.g. > > (def some-order [:u :a :e :i :o]) > (def some-order-fn (order-fn some-order)) > (sorted-set-by some-order-fn :a :e :i :o :u) ;

Re: Sorting a collection of elements according to a given list of elements

2015-03-19 Thread Andy Fingerhut
I don't know if it is a more elegant implementation, but I found something like this for maps in the useful library a while back, called ordering-map: https://github.com/amalloy/useful/blob/master/src/flatland/useful/map.clj#L243-L245 I have been putting a few different varieties of sorted maps

Sorting a collection of elements according to a given list of elements

2015-03-19 Thread Henrik Heine
Hi, I want to sort a set/map according to an ordering given by a seq of elements - e.g. (def some-order [:u :a :e :i :o]) (def some-order-fn (order-fn some-order)) (sorted-set-by some-order-fn :a :e :i :o :u) ; --> #{:u :a :e :i :o} This is what I came up with: (defn order-fn [ks] #(- (.inde