使用clojure.string时,我收到以下警告
WARNING: replace already refers to: #'clojure.core/replace in namespace: tutorial.regexp, being replaced by: #'clojure.string/replace
WARNING: reverse already refers to: #'clojure.core/reverse in namespace: tutorial.regexp, being replaced by: #'clojure.string/reverse
我的clojure脚本是:
(ns play-with-it
(:use [clojure.string]))
有什么办法可以解决这些警告?
最佳答案
是的,切换到
(ns play-with-it
(:require [clojure.string :as string]))
然后说
(string/replace ...)
调用
clojure.string
的replace
函数。使用
:use
,您可以将clojure.string
中的所有Vars直接引入您的命名空间,并且由于其中一些名称与clojure.core
中的Vars冲突,您会得到警告。然后,您必须说clojure.core/replace
才能获得通常简称为replace
的内容。名称的冲突是设计使然;
clojure.string
的意思是require
d,具有这样的别名。 str
和string
是最常用的别名。
关于clojure - 使用clojure.string会导致警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9320530/