tutorial online example clojure

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.