如何在Clojure中将两个seq中相同索引的元素一起添加

yeh*_*ehe 0 clojure

我有

[1 1 1 1 1]
Run Code Online (Sandbox Code Playgroud)

和

[2 2 2 2 2]
Run Code Online (Sandbox Code Playgroud)

我想要

[3 3 3 3 3]
Run Code Online (Sandbox Code Playgroud)

我试过了

(for [x s1
      y s2
      :when (= (.indexOf s1 x) (.indexOf s2 y))]
   (+ x y))
Run Code Online (Sandbox Code Playgroud)

它给出了错误的结果,因为.indexOf不返回其acctual索引,而是使用其值搜索它.

任何人都可以帮忙吗?

mty*_*aka 5

你可以这样做map:

(map + [1 1 1 1 1] [2 2 2 2 2])
;; => (3 3 3 3 3)
Run Code Online (Sandbox Code Playgroud)