1

我有很多方法,比如

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

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

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

  1. runFinalizer记录可以在其@param块内省略的事实。它会有所帮助,但会导致在文档中的许多地方重复这样的句子,并且用户可能会忽略它。
  2. 创建该方法的两个变体,一个有runFinalizers(没有默认值),一个没有。但这会不必要地使方法数量增加一倍,并使代码和文档变得混乱。
4

1 回答 1

1

这很可能是一个错误,仅在某些情况下发生:SI-4922 Omitted default argument values。我升级到 Scala 2.10.1。它工作正常。

于 2013-03-18T16:07:43.140 回答