我有一个适用于固定arities的转置功能
(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))
但是我无法让它发挥作用。
答案 0 :(得分:1)
你是如此亲密:
(defn transpose [& xs]
(apply map list xs))