编写一个函数,允许您创建函数组合。参数列表应采用可变数量的函数,并创建一个从右到左应用它们的函数。
(fn [& fs]
(fn [& args]
(->> (reverse fs)
(reduce #(apply %2 %1) args))))
http://www.4clojure.com/problem/58
=> (= [3 2 1] ((_ rest reverse) [1 2 3 4]))
clojure.lang.ArityException: Wrong number of args (4) passed to: core$rest
是什么导致了这个错误?我看不到它。