Clojure - 命名空间

Clojure 中的

命名空间 用于将类区分为单独的逻辑空间,就像 Java 中一样。 考虑以下陈述。

(:require [clojure.set :as set])

在上面的语句中,"clojure.set"是一个命名空间,其中包含程序中要使用的各种类和方法。 例如,上面的命名空间包含名为 map-invert 的函数,该函数用于反转键值映射。 除非我们明确告诉我们的程序包含此命名空间,否则我们无法使用此函数。

让我们看看可用于命名空间的不同方法。

序号 方法和说明
1 *ns*

这用于查看您当前的命名空间。

2 ns

这用于创建一个新的命名空间并将其与正在运行的程序关联起来。

3 alias

将当前命名空间中的别名添加到另一个命名空间。 参数是两个符号:要使用的别名和目标命名空间的符号名称。

4 all-ns

返回所有命名空间的列表。

5 find-ns

查找并返回特定的命名空间。

6 ns-name

返回特定命名空间的名称。

7 ns-aliases

返回与任何名称空间关联的别名。

8 ns-map

返回命名空间的所有映射的映射。

9 un-alias

返回一个映射,仅包含映射中键为键的条目。