相关疑难解决方法(0)

Clojure ^:const是如何工作的?

我试图理解^: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)

constants clojure

41
推荐指数
3
解决办法
9684
查看次数

标签 统计

clojure ×1

constants ×1