5

我想为我班级的每个 val 和 def 创建 ScalaDoc 条目。问题是 vals 位于模式定义中,并且不知道如何使用/** */语法。

例子:

class C(id: String) {
   val (part1, part2) = {
         .....
         (expr1, expr2)
   }
}

如何记录part1part2

在询问有关 ScalaDoc 的文档之前,我已经阅读过。

4

1 回答 1

3

它应该是

  val (
    /** Part one. */
    x,
    /** Part two. */
    y
  ) = (1, 2)

但对于一个有缺陷的启发式

/** To prevent doc comments attached to expressions from leaking out of scope
 *  onto the next documentable entity, they are discarded upon passing a right
 *  brace, bracket, or parenthesis.
 */
def discardDocBuffer(): Unit = ()

下面-Xlint你会看到

[warn] /home/apm/goofy/src/main/scala/docked.scala:10: discarding unmoored doc comment
[warn]     /** Part two. */
[warn]     ^

也许只有在封闭实体上没有发现文档时,才可以改进启发式以丢弃。

于 2014-07-25T01:32:58.763 回答