Clojure-名前空間

NamespacesClojureでは、Javaの場合と同様に、クラスを個別の論理空間に区別するために使用されます。次のステートメントを検討してください。

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

上記のステートメントで、「clojure.set」は、プログラムで使用されるさまざまなクラスとメソッドを含む名前空間です。たとえば、上記の名前空間には、キー値のマップを反転するために使用されるmap-invertという関数が含まれています。この名前空間を含めるようにプログラムに明示的に指示しない限り、この関数を使用することはできません。

名前空間で使用できるさまざまなメソッドを見てみましょう。

シニア番号 方法と説明
1 * ns *

これは、現在の名前空間を確認するために使用されます。

2 ns

これは、新しい名前空間を作成し、それを実行中のプログラムに関連付けるために使用されます。

3 エイリアス

現在の名前空間のエイリアスを別の名前空間に追加します。引数は、使用するエイリアスとターゲット名前空間のシンボル名の2つのシンボルです。

4 all-ns

すべての名前空間のリストを返します。

5 find-ns

特定の名前空間を検索して返します。

6 ns-name

特定の名前空間の名前を返します。

7 ns-エイリアス

名前空間に関連付けられているエイリアスを返します。

8 ns-map

名前空間のすべてのマッピングのマップを返します。

9 un-alias

キーがキーにあるマップ内のエントリのみを含むマップを返します。