История изменений
Исправление Nervous, (текущая версия) :
Более приближенное к оригинальному примеру (векторы в роли записей):
(def result-set** [[0 10 1]
[1 100 3]
[2 100 2]
[3 0 4]])
(defn by-second-asc [[_ counter1] [_ counter2]]
(compare counter1 counter2))
;; sort the vector records by second element
(def sorted-by-second (sort by-second-asc result-set**))
;; ([3 0 4] [0 10 1] [1 100 3] [2 100 2])
;; transpose the result to obtain a set of columns
(apply map vector sorted-by-second)
;; => ([3 0 1 2] [0 10 100 100] [4 1 3 2])
Никакой магии, никаких бананов.
Исправление Nervous, :
Более приближенное к оригинальному примеру (векторы в роли записей):
(def result-set** [[0 10 1]
[1 100 3]
[2 100 2]
[3 0 4]])
(defn by-second-asc [[_ counter1] [_ counter2]]
(compare counter1 counter2))
;; sort the vector records by second element
(def sorted-by-second (sort by-second-asc result-set**))
;; ([3 0 4] [0 10 1] [1 100 3] [2 100 2])
;; transpose the result to obtain a set of columns
(apply map vector sorted-by-second)
;; => ([3 0 1 2] [0 10 100 100] [4 1 3 2])
Исходная версия Nervous, :
Более приближенное к оригинальному примеру (векторы вместо записей):
(def result-set** [[0 10 1]
[1 100 3]
[2 100 2]
[3 0 4]])
(defn by-second-asc [[_ counter1] [_ counter2]]
(compare counter1 counter2))
;; sort the vector records by second element
(def sorted-by-second (sort by-second-asc result-set**))
;; ([3 0 4] [0 10 1] [1 100 3] [2 100 2])
;; transpose the result to obtain a set of columns
(apply map vector sorted-by-second)
;; => ([3 0 1 2] [0 10 100 100] [4 1 3 2])