如果这是一个愚蠢的问题,请道歉。我对 Clojure 很是新手。
我有一个关于跨命名空间扩展协议的问题。
假设我有一个命名空间 ns-a
,在这个命名空间内,我使用协议扩展 Java String,添加一个名为 myStringMethod
的方法。
如何在另一个命名空间,例如 ns-b
,中使用这个 myStringMethod
?以下是一个示例代码:
(let [hello "hello"] (. hello myStringMethod))
我是否需要要求命名空间 ns-a
,即使我永远不会使用此命名空间中的任何内容?或者编译器会扫描所有源代码以确保扩展已加载?
谢谢。