如何为协议中的单个函数编写clojure文档?

时间:2016-03-17 08:47:32

标签: clojure documentation

假设我有这样的协议:

(defprotocol X
  (y [this z]))

如何编写仅针对函数y的文档?

这样做的正常方法是:

(defn y
  "Some documentation"
  [])

但如果我这样做:

(defprotocol X
  (y
    "Some documentation" 
    [this z]))

我得到以下异常:

java.lang.IllegalArgumentException: Parameter declaration missing

那我该如何添加这种文档?

2 个答案:

答案 0 :(得分:4)

您可以在clojuredocs上找到协议示例:

(defprotocol Fly
  "A simple protocol for flying"
  (fly [this] "Method to fly"))

或者敲你的REPL或查看source

  

;方法签名

(bar [this a b] \"bar docs\")
(baz [this a] [this a b] [this a b c] \"baz docs\"))

答案 1 :(得分:3)

(defprotocol X
  (y [this z] "Some documentation"))