为什么(clo in-ns)提供文档的时候(clojure.repl / source in-ns)不起作用? 我甚至试图将我的命名空间改为clojure.core但没有帮助......有人可以告诉我为什么会发生这种情况......?
答案 0 :(得分:5)
有趣的是,在线文档中没有in-ns函数的源链接,我在github上的core.clj中找不到这个函数。
似乎这个特殊的函数在clojure实现中的Java中被硬编码。
查看此链接: https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/RT.java
这段代码就是您的in-ns
:
final static IFn inNamespace = new AFn(){
public Object invoke(Object arg1) throws Exception{
Symbol nsname = (Symbol) arg1;
Namespace ns = Namespace.findOrCreate(nsname);
CURRENT_NS.set(ns);
return ns;
}
};