Clojure - Namespaces
Namespacesin Clojure werden verwendet, um Klassen in separate logische Räume zu differenzieren, genau wie in Java. Betrachten Sie die folgende Aussage.
(:require [clojure.set :as set])
In der obigen Anweisung ist 'clojure.set' ein Namespace, der verschiedene Klassen und Methoden enthält, die im Programm verwendet werden sollen. Der obige Namespace enthält beispielsweise die Funktion map-invert, mit der eine Karte mit Schlüsselwerten invertiert wird. Wir können diese Funktion nur verwenden, wenn wir unser Programm ausdrücklich anweisen, diesen Namespace einzuschließen.
Schauen wir uns die verschiedenen Methoden an, die für Namespaces verfügbar sind.
Sr.Nr. | Methoden & Beschreibung |
---|---|
1 | * ns * Dies wird verwendet, um Ihren aktuellen Namespace anzuzeigen. |
2 | ns Dies wird verwendet, um einen neuen Namespace zu erstellen und ihn dem laufenden Programm zuzuordnen. |
3 | alias Fügen Sie einem anderen Namespace einen Alias im aktuellen Namespace hinzu. Argumente sind zwei Symbole: der zu verwendende Alias und der symbolische Name des Ziel-Namespace. |
4 | all-ns Gibt eine Liste aller Namespaces zurück. |
5 | find-ns Findet einen bestimmten Namespace und gibt ihn zurück. |
6 | ns-name Gibt den Namen eines bestimmten Namespace zurück. |
7 | ns-Aliase Gibt die Aliase zurück, die beliebigen Namespaces zugeordnet sind. |
8 | ns-map Gibt eine Karte aller Zuordnungen für den Namespace zurück. |
9 | Un-Alias Gibt eine Karte zurück, die nur die Einträge in der Karte enthält, deren Schlüssel in Schlüsseln liegt. |