如果这是一个无知的问题,请见谅。我对 Clojure 还比较新手。
我对跨命名空间协议扩展有一个问题。
假设我有一个命名空间 ns-a
,在这个命名空间中,我使用协议扩展 java String 类,添加一个名为 myStringMethod
的方法。
我从另一个命名空间(例如 ns-b
),如何使用这个 myStringMethod
?以下是一个示例代码:
(let [hello "hello"] (. hello myStringMethod))
我是否需要引入命名空间 ns-a
,尽管我永远不会从 ns-a
命名空间使用任何内容?编译器会不会扫描所有源代码以确保扩展已加载?
谢谢。