阅读(84) (1)

Clojure 命名空间

2016-12-12 14:48:05 更新

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返回仅包含键在键中的地图中的条目的地图。