【发布时间】:2011-10-31 21:16:18
【问题描述】:
为什么我们需要所有require、import 和use?
【问题讨论】:
标签: clojure
为什么我们需要所有require、import 和use?
【问题讨论】:
标签: clojure
需要
require 加载一个 Clojure 库,以便您可以在当前文件或 REPL 中使用它。
这是访问 Clojure 库中的函数和定义的常规方式。
使用
use 以与 require 相同的方式引入 Clojure 命名空间,但此外它引用从当前命名空间加载的命名空间中的定义(即它在当前命名空间)。
不要过度使用它(双关语)——它很容易导致命名空间冲突!
导入
import 仅用于导入 Java 类和接口。
user=> (import java.util.Date)
java.util.Date
user=> (def *now* (Date.))
#'user/*now*
如果您不需要与 Java 代码进行互操作,那么您可以放心地忽略导入。
【讨论】: