欢迎!有关此工作方式,请参阅关于页面获取更多信息。
我很想知道为什么 `merge` 函数没有使用暂存,是否有一种更好的版本。
而不是这个: (defn merge [& maps] (when (some identity maps) (reduce #(conj (or %1 {}) %2) maps)))
(defn merge [& maps] (when (some identity maps) (reduce #(conj (or %1 {}) %2) maps)))
我们可以使用transducers以保持代码易于阅读并具有更好的性能 (defn merge [& maps] (when (some identity maps) (into {} cat maps)))
(defn merge [& maps] (when (some identity maps) (into {} cat maps)))