Clojure - 命名空间


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

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

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

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

先生。 方法与说明
1 *纳秒*

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

2 纳秒

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

3 别名

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

4 全NS

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

5 查找-ns

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

6 ns 名称

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

7 ns 别名

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

8 ns-地图

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

9 非别名

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