ns是什麼參數?文件說了什麼,但目前還不清楚(對我來說,至少)ns是什麼參數?
my-new-namespace=> (doc ns)
-------------------------
clojure.core/ns
([name docstring? attr-map? references*])
Macro
Sets *ns* to the namespace named by name (unevaluated), creating it
if needed.
...the rest of the documentation was not copied
的混亂來自所有以命名空間發揮其他功能:
user=> (find-ns 'my-new-namespace)
nil
user=> (remove-ns 'my-new-namespace)
nil
user=> (create-ns 'my-new-namespace)
#<Namespace my-new-namespace>
user=> (ns 'my-new-namespace)
java.lang.ClassCastException: clojure.lang.PersistentList cannot be cast to clojure.lang.Symbol (NO_SOURCE_FILE:26)
user=> (ns my-new-namespace)
nil
my-new-namespace=>
find-ns, create-ns, remove-ns
採取my-new-namespace
報價,而ns
需要my-new-namespace
未上市
那麼,這是怎麼回事?爲什麼有些人會得到一個引用表格,其他人得到和不加引號表格my-new-namespace
?
什麼是在每種情況下,my-new-namespace
?
PS:想我找到了這個問題的答案,因爲我在這裏寫的問題,但它似乎和有趣的練習,所以這個問題仍然有貼:d
感謝您向我的知識數據庫中引入新表單(macroexpand):) – Belun 2010-09-19 20:29:07
我通常使用macroexpand-1(不太詳細)。它有助於解釋錯誤信息的陌生性 – 2010-09-20 17:28:49