1
У меня есть функция транспонирования, которая работает на фиксированной арностейтранспонировать список списков 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))
Но как я могу обобщать это для п аргументов, так что я мог бы назвать его следующим образом:
(transpose '(1 2) '(4 5))
(transpose '(1 2 3) '(4 5 6) '(7 8 9))
...
Мне кажется, что мне нужно что-то вроде
(defn transpose [& xs]
(apply (map list) xs))
Но я не могу заставить его работать.