clojure - 使用clojure.string会导致警告

标签 clojure

使用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.stringreplace函数。

使用:use,您可以将clojure.string中的所有Vars直接引入您的命名空间,并且由于其中一些名称与clojure.core中的Vars冲突,您会得到警告。然后,您必须说clojure.core/replace才能获得通常简称为replace的内容。

名称的冲突是设计使然; clojure.string的意思是require d,具有这样的别名。 strstring是最常用的别名。

关于clojure - 使用clojure.string会导致警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9320530/

相关文章:

clojure - 通过函数向量进行线程化

clojure - ClojureScript 中向量的索引

graph - 嵌套映射到表示 Clojure 中的边的元组序列

build - Leiningen 在构建工作 uberjar 时遇到问题

python - Clojure 中的 map 是有序的吗?

clojure - 如何使用传感器创建另一个 channel ?

Clojure 类型基础知识

clojure - "Reduce and Return Intermediate Results as Sequence"的 Common Lisp 函数

binding - Clojure 中的变量作用域 + eval

clojure - 如何减少参数列表而不是集合?