如果我正确理解,则方法的Scaladoc应该自动继承其覆盖的父方法的Scaladoc。对于本地类集,这似乎是正确的,但是从Scala的标准库扩展时(可能是任何外部依赖?),情况并非如此。

class LocalParent {
  /**
   * some documentation
   */
  def foo = ???
}

class DocumentedChild extends LocalParent

class UndocumentedChild extends Iterator[Int] {
   def hasNext = ???
   def next = ???
}


有没有办法继承Scaladoc?还是我做错了什么?

另外,我使用的是sbt doc,而不是直接使用scaladoc

最佳答案

这是我使用的(SBT 0.13):

scalacOptions in (Compile, doc) ++=
  Seq("-diagrams",
      "-diagrams-max-classes",
      "20",
      "-external-urls:java=http://docs.oracle.com/javase/6/docs/api/," +
      "scala=http://www.scala-lang.org/api/current/")


附录1:

为了解决在覆盖方法并需要覆盖方法的文档注释的同时对标准库类进行子类化的问题,可以使用继承文档标记对成员进行注释:

/** @inheritdoc */
override def foo(bar: String): Int = bar.length


附录2:

this SBT 0.13 documentation page中记录了此功能的更现代形式。

关于scala - 如何从Scala的标准库继承Scaladoc?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23765955/

10-11 22:38