Namespacesem Clojure são usados para diferenciar classes em espaços lógicos separados, assim como em Java. Considere a seguinte declaração.
(:require [clojure.set :as set])
Na declaração acima, 'clojure.set' é um namespace que contém várias classes e métodos a serem usados no programa. Por exemplo, o namespace acima contém a função chamada map-invert, que é usada para inverter um mapa de valores-chave. Não podemos usar essa função a menos que instruamos explicitamente nosso programa a incluir esse namespace.
Vejamos os diferentes métodos disponíveis para namespaces.
| Sr. Não. |
Métodos e Descrição |
| 1 |
* ns *
Isso é usado para examinar seu namespace atual. |
| 2 |
ns
Isso é usado para criar um novo namespace e associá-lo ao programa em execução. |
| 3 |
apelido
Adicione um alias no namespace atual a outro namespace. Os argumentos são dois símbolos: o alias a ser usado e o nome simbólico do namespace de destino. |
| 4 |
all-ns
Retorna uma lista de todos os namespaces. |
| 5 |
find-ns
Encontra e retorna um namespace específico. |
| 6 |
ns-nome
Retorna o nome de um determinado namespace. |
| 7 |
ns-aliases
Retorna os aliases, que estão associados a quaisquer namespaces. |
| 8 |
ns-map
Retorna um mapa de todos os mapeamentos para o namespace. |
| 9 |
un-alias
Retorna um mapa contendo apenas as entradas no mapa cuja chave está nas chaves. |