Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure:传递给以下对象的参数(4)数目错误:core$rest_Clojure - Fatal编程技术网

Clojure:传递给以下对象的参数(4)数目错误:core$rest

Clojure:传递给以下对象的参数(4)数目错误:core$rest,clojure,Clojure,编写一个函数,它允许您创建函数组合。这个 参数列表应采用可变数量的函数,并创建 一个函数从右向左应用它们 是什么导致了这个错误?我看不到它。这是您使用的apply-这会将最后一个参数变成一个扁平的参数列表,创建一个如下所示的调用: (其余1234) 这大概不是你想要的。。。。。并解释了您得到的错误 (fn [& fs] (fn [& args] (->> (reverse fs) (reduce #(apply %2 %1) args)

编写一个函数,它允许您创建函数组合。这个 参数列表应采用可变数量的函数,并创建 一个函数从右向左应用它们


是什么导致了这个错误?我看不到它。

这是您使用的
apply
-这会将最后一个参数变成一个扁平的参数列表,创建一个如下所示的调用:

(其余1234)

这大概不是你想要的。。。。。并解释了您得到的错误

(fn [& fs]
  (fn [& args]
    (->> (reverse fs)
         (reduce #(apply %2 %1) args))))
=> (= [3 2 1] ((_ rest reverse) [1 2 3 4]))

clojure.lang.ArityException: Wrong number of args (4) passed to: core$rest