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

时间:2010-11-21 01:12:36

标签: clojure

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

1 个答案:

答案 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;
 }
};