function - Mapcat 是如何工作的?

标签 function vector clojure

我对 Clojure 真的很陌生! `mapcat 如何工作?

最佳答案

mapcat function只是申请concat function的快捷方式结果为 map function :

=> (mapcat reverse [[3 2 1 0] [6 5 4] [9 8 7]])
(0 1 2 3 4 5 6 7 8 9)

=> (apply concat (map reverse [[3 2 1 0] [6 5 4] [9 8 7]]))
(0 1 2 3 4 5 6 7 8 9)

引用文献:

<小时/>

通过将 mapcatvector function 结合使用您可以交错多个集合:

=> (mapcat vector [1 2 3 4 5 6] [:q :w :e :r :t :y])
(1 :q 2 :w 3 :e 4 :r 5 :t 6 :y)

使用 list function 会得到相同的结果而不是向量

关于function - Mapcat 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25548478/

相关文章:

java - 将列表的元素分组为子列表(可能使用 Guava )

c++ - 在 C++ 中同时执行多个函数

php - 在 PHP 中从数组构建单个多重插入查询

c++ - 如何在 C++ 中为 MPL vector 的所有成员显式实例化模板?

c++ - Objective-C++调整大小实例 vector 不起作用

Rbind R 中的两个向量

带有 Slime 和 Swank 的 Emacs 用于非 leiningen 项目

clojure - 如何从 Clojure 中的嵌套列表或向量中按类型删除项目?

javascript - 使用/javascript 创建表单并将变量传递给函数

parsing - 带有转义逗号的 Clojure csv