online - clojure windows
¿Para qué se utiliza:: en clojure? (2)
Entiendo que las palabras clave en Clojure son: palabra clave. Pero, ¿para qué se usa ::? ¿Por qué parece que tiene un enlace?
user=> :foo
:foo
user=> ::foo
:user/foo
Como se documenta ahora para Clojure y para ClojureScript , ::
palabras clave también se pueden usar para resolver alias de espacio de nombres. Por ejemplo, ::foo/bar
evaluará a :clojure.core/bar
si foo
es un alias de clojure.core
. Se lanza una excepción de lector si foo
no se resuelve en un espacio de nombres.
El doble punto está ahí para calificar completamente las palabras clave con su espacio de nombre actual. Esto tiene la intención de evitar conflictos de nombres para palabras clave que son significativas para diferentes bibliotecas. Sin palabras clave totalmente calificadas, es posible que accidentalmente sobrescriba algunos valores en un mapa y rompa la compatibilidad con una biblioteca.