Clojure - przestrzenie nazw
Namespacesw Clojure służą do rozróżniania klas na oddzielne przestrzenie logiczne, tak jak w Javie. Rozważ następujące stwierdzenie.
(:require [clojure.set :as set])
W powyższej instrukcji „clojure.set” jest przestrzenią nazw, która zawiera różne klasy i metody, które mają być używane w programie. Na przykład powyższa przestrzeń nazw zawiera funkcję o nazwie map-invert, która służy do odwracania mapy par klucz-wartość. Nie możemy użyć tej funkcji, chyba że wyraźnie powiemy naszemu programowi, aby zawierał tę przestrzeń nazw.
Przyjrzyjmy się różnym metodom dostępnym dla przestrzeni nazw.
Sr.No. | Metody i opis |
---|---|
1 | * ns * Służy do przeglądania bieżącej przestrzeni nazw. |
2 | ns Służy do tworzenia nowej przestrzeni nazw i kojarzenia jej z uruchomionym programem. |
3 | Alias Dodaj alias z bieżącej przestrzeni nazw do innej przestrzeni nazw. Argumentami są dwa symbole: używany alias i symboliczna nazwa docelowej przestrzeni nazw. |
4 | all-ns Zwraca listę wszystkich przestrzeni nazw. |
5 | find-ns Znajduje i zwraca określoną przestrzeń nazw. |
6 | nazwa-ns Zwraca nazwę określonej przestrzeni nazw. |
7 | aliasy-ns Zwraca aliasy, które są skojarzone z dowolnymi przestrzeniami nazw. |
8 | ns-map Zwraca mapę wszystkich mapowań dla przestrzeni nazw. |
9 | un-alias Zwraca mapę zawierającą tylko te wpisy w mapie, których klucz znajduje się w kluczach. |