代码之家  ›  专栏  ›  技术社区  ›  Alex Stoddard

将doc字符串放在数据变量上,是否被认为是惯用的?

  •  15
  • Alex Stoddard  · 技术社区  · 16 年前

    (def ^{:doc "Documentation for *my-var*"}
            *my-var*)
    

    让我打电话 (doc *my-var*) 在回复处。这似乎是一个有效和有用的做法,但它似乎不像是在(有限的)代码中的常见做法,我读过。

    这被认为是地道的clojure吗?

    2 回复  |  直到 16 年前
        1
  •  11
  •   Jürgen Hötzel    16 年前

    也用于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*")
    
        2
  •  11
  •   deadghost    12 年前

    从clojure 1.3开始, def 已允许可选的docstring。

    (def *my-var*
      "My var does cool things (it really doesn't)."
      nil)
    
    推荐文章