引用clojure.core//(divide)时出错
在一些clojure代码中,我希望使用别名命名空间引用clojure.core中的divide函数“/”。这是因为我想为一些数学函数编写自定义实现,而在内部仍然使用核心函数引用clojure.core//(divide)时出错,clojure,Clojure,在一些clojure代码中,我希望使用别名命名空间引用clojure.core中的divide函数“/”。这是因为我想为一些数学函数编写自定义实现,而在内部仍然使用核心函数 (ns-mynamespace) (:参考clojure:exclude[/]) (:require[clojure.core:as core]) (defn/[x y] (核心//x y)) 但是,这会导致错误:“无效令牌:core/” 其他数学函数也是这样工作的(core/+core/*) 如何引用core divid
(ns-mynamespace)
(:参考clojure:exclude[/])
(:require[clojure.core:as core])
(defn/[x y]
(核心//x y))
但是,这会导致错误:“无效令牌:core/”
其他数学函数也是这样工作的(core/+core/*)
如何引用core divide函数?如果在clojure 1.5中使用全名clojure.core//,它似乎可以工作
user=> (defn / [& args] :arg-slash-ye-matey!)
WARNING: / already refers to: #'clojure.core// in namespace: user,
being replaced by: #'user//
#'user//
user=> (/ 42 6)
:arg-slash-ye-matey!
user=> ((ns-resolve 'clojure.core '/) 42 6)
7
user> (defn / [& args] (apply clojure.core// args))
WARNING: / already refers to: #'clojure.core// in namespace: user, being replaced by: #'user//
user> (/ 2 4)
1/2
在1.4中确认了相同的行为。