是[{:keys [:a]}]还是[{:keys [a]}]更惯用的解构?

时间:2016-10-07 04:32:02

标签: clojure destructuring

以下两种表格有何不同?

(defn abc [{:keys [:a]}] a)
(defn abc [{:keys [a]}]  a)

是否有一个更惯用的?

1 个答案:

答案 0 :(得分:1)

地图解构用:键我们通常用符号完成,就像你的第二个例子。

我并不完全确定这种说法,但我认为对key中的关键字的支持是专门为了支持使用命名空间别名解构命名空间关键字的情况而添加的,即:

(ns (require [com.company.foo :as foo]
             ... ))

(defn abc [{:keys [::foo/a]}] a)