Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
引用clojure.core//(divide)时出错_Clojure - Fatal编程技术网

引用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

在一些clojure代码中,我希望使用别名命名空间引用clojure.core中的divide函数“/”。这是因为我想为一些数学函数编写自定义实现,而在内部仍然使用核心函数

(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中确认了相同的行为。