Clojure 命名空间
Clojure中的命名空间用于将类区分为单独的逻辑空间,就像在Java中一样。 考虑下面的语句。
(:require [clojure.set :as set])
在上面的语句中,“clojure.set”是一个命名空间,它包含了在程序中使用的各种类和方法。 例如,上述命名空间包含称为map-invert的函数,用于反转键值映射。 我们不能使用这个函数,除非我们明确告诉我们的程序包含这个命名空间。
让我们看看可用于命名空间的不同方法。
S.No. | 方法和说明 |
---|---|
*ns* | 这用于查看当前的命名空间。 |
ns | 这用于创建一个新的命名空间并将其与正在运行的程序相关联。 |
alias | 这用于创建一个新的命名空间并将其与正在运行的程序相关联。 |
all-ns | 返回所有命名空间的列表。 |
find-ns | 查找并返回特定的命名空间。 |
ns-name | 返回特定命名空间的名称。 |
ns-aliases | 返回与任何命名空间关联的别名。 |
ns-map | 返回命名空间的所有映射的映射。 |
un-alias | 返回仅包含键在键中的地图中的条目的地图。 |