【发布时间】:2015-01-31 09:43:10
【问题描述】:
好吧,我是 clojure 的新手,我正在查看 (http://clojuredocs.org/clojure.core/mapcat) 中关于函数 mapcat 的文献,我发现了以下示例:
(mapcat (fn [[k v]]
(for [[k2 v2] v]
(concat [k k2] v2)))
'{:a {:x (1 2) :y (3 4)}
:b {:x (1 2) :z (5 6)}})
((:a :x 1 2) (:a :y 3 4) (:b :x 1 2) (:b :z 5 6))
我试图理解,但我很困惑 key 和 values 是如何工作的,我不确定当函数 for 和 concat 使用 k、k2、v 和 v2 时它们的确切值是什么。
感谢您的帮助。
【问题讨论】:
标签: algorithm clojure functional-programming lisp