如何获取 clojure 界面的文档字符串?

问题描述 投票:0回答:1

是否可以获取 clojure 接口或其他语法实体的文档字符串?

(defn documentedFun "documentedFun is documented" [] 123)
(assert (= (:doc (meta #'documentedFun)) "documentedFun"))

具有 doc 属性的接口在语法上似乎是正确的:

(definterface ^{:doc "Eq is an interface"} Eq (^{:tell bool} eq [b]) )

但是 REPL 无法解析应用于 Eq 的

doc
函数。

(doc Eq)

在 (/tmp/form-init4163264810453251954.clj:1:1) 处编译 var 时出现语法错误。 需要 var,但 Eq 映射到接口 hello_leiningen.core.Eq

clojure
1个回答
0
投票

不。元数据存在于 Clojure 变量上,而接口纯粹是 Java 功能。没有地方可以放置元数据。您可以定义一个协议:协议有一个 var,定义协议也定义了一个接口。

© www.soinside.com 2019 - 2024. All rights reserved.