gpt4 book ai didi

Clojure:如何获取函数文档字符串?

转载 作者:行者123 更新时间:2023-12-04 06:17:04 25 4
gpt4 key购买 nike

我试图在Clojure中仅获取函数的文档字符串,但是我遇到了几个问题,因为我发现的所有函数实际上都打印了函数签名+文档字符串。
因此,例如(doc map)实际上会打印类似的内容。


clojure.core/map

([f coll] [f c1 c2] [f c1 c2 c3] [f c1 c2 c3 & colls])

Returns a lazy sequence consisting of the result of applying f to the ...


我只想让docstring不打印它,也不要让它具有 namespace 或arity。我正在寻找的是类似的东西 (get-doc function-name)将返回一个字符串

"Returns a lazy sequence consisting of the result of applying f to the ..."


Clojure有可能吗?

最佳答案

你可以这样做:

(:doc (meta #'map))
map本身只是一个符号,即一个名称。该符号解析为var,可通过特殊格式 #'map访问。此var的值是实际函数,该函数的文档字符串作为元数据存储在var上。

因此, #'map为您提供了var(也可以使用 (var map)完成此操作), meta为您提供了该var的元数据,并且 :doc提取了文档字符串。

有关更多信息,请查看 varmetadataspecial forms

关于Clojure:如何获取函数文档字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32091698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com