2017-06-16 33 views
0

添加在多个矢量值我有3个矢量[1 2 3][4 5 6][7 8 9。我想补充的载体由指数,即返回一个矢量Clojure的 - 由索引

[(+ 1 4 7) (+ 2 5 8) (+ 3 6 9)] => [12 15 18] 

我想如果做这样的事情,但我知道我没有得到矢量出来

(defn vec-adder [x y z] 
    (loop [a 1] 
    (when (< a (count x) 
     (recur (+ (nth x a) (nth y a) (nth z a)) (+ a 1))))) 

任何帮助将不胜感激。谢谢。

回答

8
(mapv + [1 2 3] [4 5 6] [7 8 9]) 

+是可以采取任何数目的参数的函数(它是多元数)。

+1

...或者,在载体的一般序列:'#(申请mapv +%)'。例如,'(#(申请mapv +%)[[1 2 3] [4 5 6] [7 8 9]])=> [12 15 18]'。 – Thumbnail