我正在学习 Clojure。我仍然对语言和哲学没有很好的理解。
但我想更熟悉这种语言。因此,我开始阅读 Clojure 核心 API 文档,并在clojure.core/get
源代码中发现了一些有趣的东西。
(defn get
"Returns the value mapped to key, not-found or nil if key not present."
{:inline (fn [m k & nf] `(. clojure.lang.RT (get ~m ~k ~@nf)))
:inline-arities #{2 3}
:added "1.0"}
([map key]
(. clojure.lang.RT (get map key)))
([map key not-found]
(. clojure.lang.RT (get map key not-found))))
要使用给定键获取值,代码使用clojurelang.RT/get
函数。代码调用点运算符 - (. clojure.lang.RT (get map key))
。
我的问题是为什么作者写(. clojure.lang.RT (get map key))
而不是
(clojure.lang.RT/get map key)
.
有技术上的区别吗?还是有什么好处?