通常需要“深层”的命名空间并将其别名为较短的名称。例如
(require '[my.deep.namespace.db.utils :as utils])
有时你可能希望在别名中得到更多的上下文
(require '[my.deep.namespace.db.utils :as db.utils])
这似乎是可行的,但阅读器引用中提到
'.' 具有特殊含义 - 它可以在符号中间使用一次或多次以表示完全限定类名,例如 java.util.BitSet,或在命名空间中。以 '.' 开头或结尾的符号被 Clojure 保留。包含 / 或 . 的符号被认为是 '界定符'。
强调:或在命名空间中 —— 这是否包括命名空间的情况,还是应该避免使用,因为它仅因为向后兼容性才有效?
另一种选择可能是
(require '[my.deep.namespace.db.utils :as db-utils])