所以我已经定义了一些vars来保存我的clojure代码中的状态数据。我刚刚发现我可以在这些变量中添加一个doc字符串,例如:
(def ^{:doc "Documentation for *my-var*"}
*my-var*)
这让我在REPL上拨打(doc *my-var*)
。这似乎是一个有效且有用的事情,但它似乎并不像我读过的(有限的)代码中的常见做法。
这被认为是惯用语吗?
答案 0 :(得分:11)
也用于Clojure名称空间(如clojure.pprint):
(def
^{:doc "The base to use for printing integers and rationals."
:added "1.2"}
*print-base* 10)
您可能不想使用clojure.contrib.def中的便利宏:
(defvar *my-var*
nil
"Documentation for *my-var*")
答案 1 :(得分:11)
自clojure 1.3以来,def
允许使用可选的文档字符串。
(def *my-var*
"My var does cool things (it really doesn't)."
nil)