如何使用反射阅读 Scala 文档

How to read scala documentation using reflection

有没有我们可以使用反射读取 scala 文档注释的方法。我的要求是读取@group 标签值并用它来计算每个组有多少函数

不,您不能使用 Scala 反射来访问文档注释。原因很简单:根据定义,注释几乎是 而不是 程序的一部分。因此,它们在逻辑上不可能通过反射可用。

例如,在 Python 中,文档可以从 运行 程序中获得(事实上,即使不使用反射),因为文档没有隐藏在评论中,而是简单地分配到正在记录的对象的字段。许多 Lisp(例如 Clojure)以及 Ioke 和 Seph 也是这样工作的。

在新话中,他们所谓的 "comments" 可以使用反射获得,但那是因为他们所说的 "comments" 并不是真正的评论,它更像是可以附加到对象的任意元数据。它实际上更类似于 Scala 中的注释而不是注释。

在 Scala 中,文档是用注释写的,注释不是程序的一部分(它们 字面意思 等同于 Scala Language Specification 中的空格),因此,不可能成为程序的一部分,因此不可能通过反射访问。