为什么(clo in-ns)中的(clojure.repl/source in-ns)不起作用?

Sun*_*lli 1 clojure

为什么(clo in-ns)中的(clojure.repl/source in-ns)不起作用?我甚至试图将我的命名空间改为clojure.core但没有帮助......有人可以告诉我为什么会发生这种情况......?

Gor*_*vic 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;
 }
};
Run Code Online (Sandbox Code Playgroud)