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が、おそらく最善の方法は、名前空間をing するのでrequireはなく、短い名前で名前空間にすることです。use

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

名前でその機能を使用できるようにしますjson/read, json/pprint, ...

于 2013-10-09T11:15:46.820 に答える