Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 使用、要求和导入之间的差异_Clojure - Fatal编程技术网

Clojure 使用、要求和导入之间的差异

Clojure 使用、要求和导入之间的差异,clojure,Clojure,有谁能给我一个很好的例子来区分使用、需要和导入 我希望有人能帮助我。require加载并编译Clojure命名空间导入允许您避免 使用完全限定的Java类名(与Java中的import相同)。require确保已编译并实例化Clojure命名空间 如果提供了:reload键,可以选择从源代码更新 如果提供了:as键,则可以选择创建别名 如果提供了:refere键,可以选择修改当前名称空间以包括到所需名称空间的变量的映射。映射仅在需要的名称空间内部可见,不能传递到需要它的其他名称空间 use与

有谁能给我一个很好的例子来区分使用、需要和导入


我希望有人能帮助我。

require
加载并编译Clojure命名空间<代码>导入允许您避免
使用完全限定的Java类名(与Java中的
import
相同)。

require
确保已编译并实例化Clojure命名空间

  • 如果提供了
    :reload
    键,可以选择从源代码更新
  • 如果提供了
    :as
    键,则可以选择创建别名
  • 如果提供了
    :refere
    键,可以选择修改当前名称空间以包括到所需名称空间的变量的映射。映射仅在需要的名称空间内部可见,不能传递到需要它的其他名称空间
use
与require in action相同,只是默认情况下通过
refere
函数修改当前名称空间,以包含所有目标名称空间的变量,就像
:refere:all
已经提供一样。它接受
:exclude
:only
:rename
键来指导当前名称空间的修改


import
用于将类名映射添加到当前命名空间,这样就不需要使用包限定符。

简而言之,使用
require


您几乎永远不会希望像
use
那样在同一名称空间中混合来自不同名称空间的符号,除非是在临时REPL工作期间。

另一个副本和
映射仅从所需名称空间内部可见,并且不能传递到其他需要它的名称空间。
是否可以传递到
需要的名称空间?