我试图只获取Clojure中函数的docstring,但是我遇到了几个问题,因为我找到的所有函数实际上都打印函数签名+ docstring。
例如,(doc map)实际上会打印类似的内容。
clojure.core/map
( c1 c2 c3中校)
返回一个惰性序列,该序列由将f应用于.
我只对获得docstring感兴趣,而不是打印它,也没有它的命名空间或特性。我正在寻找的是类似于(get-doc function-name)的东西,它将返回一个字符串
“返回由将f应用于.的结果组成的惰性序列。”
这在Clojure中有可能吗?
发布于 2015-08-19 13:08:15
发布于 2017-04-17 11:59:20
基于bsvingen的答案,我们可以定义一个宏,它返回如下所示的docstring:
(defmacro docstring [symbol]
`(:doc (meta (var ~symbol))))如果我们特别希望它是一个函数,例如用于map,您可以将它写成
(defn docstring [symbol]
(:doc (meta (resolve symbol))))https://stackoverflow.com/questions/32091698
复制相似问题