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
返回一个映射,仅包含映射中键为键的条目。 |