1
(doc in-ns)給出文檔時爲什麼(clojure.repl/source in-ns)不起作用? 我甚至試圖改變我的命名空間到clojure.core但沒有幫助...有人可以告訴我爲什麼發生這種情況..?(doc in-ns)提供文檔時爲什麼(clojure.repl/source in-ns)不起作用?
(doc in-ns)給出文檔時爲什麼(clojure.repl/source in-ns)不起作用? 我甚至試圖改變我的命名空間到clojure.core但沒有幫助...有人可以告訴我爲什麼發生這種情況..?(doc in-ns)提供文檔時爲什麼(clojure.repl/source in-ns)不起作用?
有趣的是,在線文檔中沒有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;
}
};
是,在-ns''是直接在編譯器實現的一種特殊形式。 – 2010-11-21 15:49:38