1

当我通过这个函数

(into [] 
      (map #(+ %1 %2)
           [1 2]
           [5 6]))

我得到这个结果:[6 8]

我应该怎么做才能得到这个:[6 7 7 8]同时保持这个#(+ %1 %2)

在这种情况下,似乎map不是正确的功能。

4

2 回答 2

5

for当您需要笛卡尔积时使用:

user=> (for [x [1 2] y [5 6]]
  #_=>   (+ x y))
(6 7 7 8)
于 2013-02-23T03:06:42.203 回答
2

for是亚历克斯回答显示的一种选择。map也可以使用(with mapcat),如下所示:

user=> (mapcat #(map (partial + %1) [5 6]) [1 2])
(6 7 7 8)
于 2013-02-23T04:14:11.257 回答