命名空间(Namespaces)
优质
小牛编辑
135浏览
2023-12-01
Clojure中的Namespaces用于将类区分为单独的逻辑空间,就像在Java中一样。 请考虑以下声明。
(:require [clojure.set :as set])
在上面的语句中,'clojure.set'是一个名称空间,它包含要在程序中使用的各种类和方法。 例如,上面的命名空间包含名为map-invert的函数,该函数用于反转键值的映射。 我们不能使用此函数,除非我们明确告诉我们的程序包含这个命名空间。
让我们看一下命名空间可用的不同方法。
Sr.No. | 方法和描述 |
---|---|
1 | *ns* 这用于查看当前的命名空间。 |
2 | ns 这用于创建新的命名空间并将其与正在运行的程序相关联。 |
3 | alias 在当前名称空间中将别名添加到另一个名称空间。 参数是两个符号:要使用的别名和目标命名空间的符号名称。 |
4 | all-ns 返回所有名称空间的列表。 |
5 | find-ns 查找并返回特定的命名空间。 |
6 | ns-name 返回特定命名空间的名称。 |
7 | ns-aliases 返回与任何名称空间关联的别名。 |
8 | ns-map 返回命名空间的所有映射的映射。 |
9 | un-alias 返回一个映射,该映射仅包含键中键的那些条目。 |