Clojure - Espacios de nombres
Namespacesen Clojure se utilizan para diferenciar clases en espacios lógicos separados al igual que en Java. Considere la siguiente declaración.
(:require [clojure.set :as set])
En la declaración anterior, 'clojure.set' es un espacio de nombres que contiene varias clases y métodos que se utilizarán en el programa. Por ejemplo, el espacio de nombres anterior contiene la función llamada map-invert, que se utiliza para invertir un mapa de valores-clave. No podemos usar esta función a menos que le digamos explícitamente a nuestro programa que incluya este espacio de nombres.
Veamos los diferentes métodos disponibles para espacios de nombres.
No Señor. | Métodos y descripción |
---|---|
1 | * ns * Esto se usa para ver su espacio de nombres actual. |
2 | ns Esto se utiliza para crear un nuevo espacio de nombres y asociarlo con el programa en ejecución. |
3 | alias Agregue un alias en el espacio de nombres actual a otro espacio de nombres. Los argumentos son dos símbolos: el alias que se utilizará y el nombre simbólico del espacio de nombres de destino. |
4 | todo-ns Devuelve una lista de todos los espacios de nombres. |
5 | find-ns Busca y devuelve un espacio de nombres en particular. |
6 | ns-nombre Devuelve el nombre de un espacio de nombres en particular. |
7 | ns-aliases Devuelve los alias, que están asociados con cualquier espacio de nombres. |
8 | ns-map Devuelve un mapa de todas las asignaciones para el espacio de nombres. |
9 | un-alias Devuelve un mapa que contiene solo aquellas entradas en el mapa cuya clave está en claves. |