当我通过此功能时
(into []
(map #(+ %1 %2)
[1 2]
[5 6]))
我得到了这个结果:[6 8]
我应该怎样做才能得到这个:[6 7 7 8]
同时保留#(+ %1 %2)
?
在这种情况下,map
似乎不是正确的功能。
答案 0 :(得分:5)
如果需要笛卡尔积,请使用for
:
user=> (for [x [1 2] y [5 6]]
#_=> (+ x y))
(6 7 7 8)
答案 1 :(得分:2)
for
是一个选项。也可以使用map
(mapcat
},如下所示:
user=> (mapcat #(map (partial + %1) [5 6]) [1 2])
(6 7 7 8)