如何将地图输出放入单个集合中

0 clojure map

鉴于以下内容:

user> (map (fn [x] (map #(* x %) '(1 2))) '(2 3))  
((2 4) (3 6))
Run Code Online (Sandbox Code Playgroud)

在clojure中,如何以惯用方式进行更改,以便输出变为:

(2 4 3 6)
Run Code Online (Sandbox Code Playgroud)

我使用列表来说明,但任何收集都没问题.

Jus*_*mer 5

(mapcat (fn [x] (map #(* x %) '(1 2))) '(2 3))
Run Code Online (Sandbox Code Playgroud)

这是简写​​:

(apply concat (map (fn [x] (map #(* x %) '(1 2))) '(2 3)))
Run Code Online (Sandbox Code Playgroud)

concat将集合连接成一个序列.通过调用它apply可以传递要连接的集合集合.