我记得最近阅读了一个 clojure 命令,您可以在 repl 上运行find-doc
它,但它只返回列表中的函数名称。然后你可以在你想要的函数旁边输入数字,它会为你提供该函数的完整文档。
有谁知道这叫什么?
我记得最近阅读了一个 clojure 命令,您可以在 repl 上运行find-doc
它,但它只返回列表中的函数名称。然后你可以在你想要的函数旁边输入数字,它会为你提供该函数的完整文档。
有谁知道这叫什么?
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
我想我找到了,它是repl-utilsshow
中的函数