4

如何在我的 Windows 测试项目中处理名称冲突/阴影?project.clj包含以下 lib 声明:

: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)

先感谢您!

4

1 回答 1

5

您可以告诉use重命名或隐藏函数,但最好的方法可能是require使用更短的名称而不是命名空间use,即

(require '[clojure.data.json :as json])

将允许您通过名称来使用它的功能json/read, json/pprint, ...

于 2013-10-09T11:15:46.820 回答