2014-10-02 38 views

回答

6

如文件here所示,defn將接受一個「attr」地圖,該地圖可以通過關鍵字:doc包含文檔。所以這將工作。

user> (defn get-foo {:doc "Get the foo"} [foo] @foo) 
#'user/get-foo 
user> (meta get-foo) 
{:doc "Get the foo"} 

但是你已經使用了^讀者宏不添加第一個下面的形式(地圖)作爲元數據的符號get-foo,但是到了第二下面的表格,你的參數向量。 defn和def宏不會檢查元數據的參數向量,因此您顯然的文檔字符串將被忽略。

user> ^{:doc "foo"} [] 
[] 
user> (meta ^{:doc "foo"} []) 
{:doc "foo"} 
0

這其中^不是:文檔註釋去。它位於函數名稱之前,因爲您試圖將元數據附加到函數名稱的符號。這與codox無關,但是關於clojure元數據和文檔是一個普遍的事情。

0

刪除脫字符。你想要的是在那個地方傳遞一個屬性地圖,而不是元數據。這應該工作:

(defn get-foo {:doc "Get the foo"} [foo] @foo) 
相關問題