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_Clojure - Fatal编程技术网

将列表列表转换为clojure

将列表列表转换为clojure,clojure,Clojure,我有一个转置函数,用于固定的算术运算 (defn transpose [a b c] (map list a b c)) (transpose '(1 2 3) '(4 5 6) '(7 8 9)) ((1 4 7) (2 5 8) (3 6 9)) (apply transpose (list '(1 2 3) '(4 5 6) '(7 8 9))) ((1 4 7) (2 5 8) (3 6 9)) 但是我怎样才能把它推广到n个参数,这样我就可以把它称为: (transpose '

我有一个转置函数,用于固定的算术运算

(defn transpose [a b c]
  (map list a b c))

(transpose '(1 2 3) '(4 5 6) '(7 8 9))
((1 4 7) (2 5 8) (3 6 9))

(apply transpose (list '(1 2 3) '(4 5 6) '(7 8 9)))
((1 4 7) (2 5 8) (3 6 9))
但是我怎样才能把它推广到n个参数,这样我就可以把它称为:

(transpose '(1 2) '(4 5))
(transpose '(1 2 3) '(4 5 6) '(7 8 9))
...
我觉得我需要像下面这样的东西

(defn transpose [& xs]
  (apply (map list) xs))
(defn transpose [& xs]
  (apply map list xs))
但是我不能让它工作。

你离得太近了: