应将fn->comparator
调用提升
(sort (fn [x y] ((fn->comparator comp) (keyfn x) (keyfn y))) coll)
(let [comparator (fn->comparator comp)] (sort (fn [x y] (comparator (keyfn x) (keyfn y))) coll))
另外,fn->comparator
再次被调用在{{sort}}中的函数上,不清楚如何避免,除非将sort代码复制到{{sort-by}}中。