我试图理解^:constclojure中的内容.这就是开发人员所说的.http://dev.clojure.org/display/doc/1.3
(def常数{:pi 3.14:e 2.71})
(def ^:const pi(:pi constants))(def ^:const e(:e constants))
查找的开销:e和:地图中的pi发生在编译时,因为(:pi常量)和(:e常量)在评估其父def形式时进行评估.
这是令人困惑的,因为元数据用于符号的var绑定pi,而var绑定到符号e,但下面的句子说它有助于加速地图查找,而不是var查找.
有人可以解释一下^:const正在做什么以及使用它背后的理由吗?请问这个比较使用一个巨大的let块或使用宏象(pi)和(e)?