Clojure pprint符号已指向用户
如何在Windows中处理我的测试项目中的名称冲突/阴影? project.clj包含以下库声明:Clojure pprint符号已指向用户,clojure,Clojure,如何在Windows中处理我的测试项目中的名称冲突/阴影? project.clj包含以下库声明: :dependencies [[org.clojure/clojure "1.5.1"] [incanter/incanter-core "1.5.4"] [org.clojure/data.json "0.2.3"] ] 一旦启动repl,我将添加: user=> (use 'incanter.core) ;the answer is ni
:dependencies [[org.clojure/clojure "1.5.1"]
[incanter/incanter-core "1.5.4"]
[org.clojure/data.json "0.2.3"]
]
一旦启动repl,我将添加:
user=> (use 'incanter.core) ;the answer is nil
user=> (use 'clojure.data.json)
WARNING: read already refers to: #'clojure.core/read in namespace: user, being r
eplaced by: #'clojure.data.json/read
IllegalStateException pprint already refers to: #'clojure.pprint/pprint in names
pace: user clojure.lang.Namespace.warnOrFailOnReplace (Namespace.java:88)
提前谢谢你 您可以告诉
使用
重命名或隐藏函数,但最好的方法可能是要求
名称空间使用较短的名称,而不是使用
对其进行隐藏,即
(require '[clojure.data.json :as json])
将允许您通过名称
json/read
,json/pprint
,…使用它的函数,这不仅有效,而且是使用名称空间的首选方式<代码>使用会导致难以维护的代码(这使您更难知道何时可以删除依赖项,更难跟踪正在调用的函数的定义,更难将功能拆分到另一个命名空间)。