鉴于以下内容:
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)
我使用列表来说明,但任何收集都没问题.
(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
可以传递要连接的集合集合.
归档时间: |
|
查看次数: |
90 次 |
最近记录: |