【问题标题】:What are the differences among `require`, `import`, and `use`? [duplicate]`require`、`import` 和 `use` 之间有什么区别? [复制]
【发布时间】:2011-10-31 21:16:18
【问题描述】:

为什么我们需要所有requireimportuse

【问题讨论】:

    标签: clojure


    【解决方案1】:

    需要

    require 加载一个 Clojure 库,以便您可以在当前文件或 REPL 中使用它。

    这是访问 Clojure 库中的函数和定义的常规方式。

    使用

    use 以与 require 相同的方式引入 Clojure 命名空间,但此外它引用从当前命名空间加载的命名空间中的定义(即它在当前命名空间)。

    不要过度使用它(双关语)——它很容易导致命名空间冲突!

    导入

    import 仅用于导入 Java 类和接口。

    user=> (import java.util.Date)
    java.util.Date
    
    user=> (def *now* (Date.))
    #'user/*now*
    

    如果您不需要与 Java 代码进行互操作,那么您可以放心地忽略导入。

    【讨论】:

    • 这个问题被错误地标记为重复。提到的答案没有解释“进口”。这应该是公认的答案。
    猜你喜欢
    • 1970-01-01
    • 2021-04-21
    • 2012-07-18
    • 2013-05-16
    • 2020-10-26
    • 2018-12-24
    • 2012-01-15
    • 1970-01-01
    • 2011-07-04
    相关资源
    最近更新 更多