我对clojure很新! `mapcat是如何工作的?
答案 0 :(得分:5)
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)
通过将mapcat
与vector
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代替vector
,您将获得相同的结果。