2

我记得最近阅读了一个 clojure 命令,您可以在 repl 上运行find-doc它,但它只返回列表中的函数名称。然后你可以在你想要的函数旁边输入数字,它会为你提供该函数的完整文档。

有谁知道这叫什么?

4

2 回答 2

1

apropos返回一系列函数名称,然后您可以将其提供给doc

user=> (apropos "doc")
(find-doc doc *remote-javadocs* javadoc add-remote-javadoc add-local-javadoc *local-javadocs*)

show在它之上为 Clojure 函数构建一个-workalike 将非常简单;不过,我认为我在广泛使用的库中还没有看到过。

(defn show-fn
  ([s]
    (let [res (sort (apropos s))]
      (dotimes [i (count res)]
        (println (str (inc i) ":") (nth res i)))))
  ([s n]
    (let [res (sort (apropos s))
          r   (nth res (dec n))
          v   (resolve r)]
      (println v)
      (println (:doc (meta v))))))

像这样工作:

user=> (show-fn "doc")
1: *local-javadocs*
2: *remote-javadocs*
3: add-local-javadoc
4: add-remote-javadoc
5: doc
6: find-doc
7: javadoc
nil
user=> (show-fn "doc" 5)
#'clojure.repl/doc
Prints documentation for a var or special form given its name
nil
于 2013-06-16T03:06:28.943 回答
0

我想我找到了,它是repl-utilsshow中的函数

于 2013-06-16T02:51:26.837 回答