2013-03-16 43 views
1

我有很多方法,如如何让scaladoc显示默认参数值?

def foo(..., ..., runFinalizer: Boolean = true) 
     (implicit finalizer: Finalizer): Result = ... 

但是当我运行scaladoc(使用SBT),它并没有文件证明runFinalizer具有默认值。这是很有问题的,因为用户很少会将参数设置为false,并且生成的文档不显示可以省略。

到目前为止,我有两个解决方案,没有一个完全令人满意:

  1. 文件的事实,runFinalizer可以将其@param块中被省略。它有帮助,但会导致在文档中的许多地方复制这样的句子,用户可能忽略它。
  2. 创建该方法的两种变体,一种是runFinalizers(没有默认值),另一种没有。但是这样会不必要地使方法数量翻倍,并且使代码和文档混乱。
+0

不知道为什么默认值没有出现在Scaladoc中。这绝对是可能的 - 查看'http:// doc.akka.io/api/akka/2.0.5 /#akka.testkit.TestKit','receiveWhile'方法。该方法的源代码没有特殊之处。 – sourcedelica 2013-03-18 14:38:16

回答