鉴于以下内容:
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 次 |
| 最近记录: |