【问题标题】:How to make scaladoc show default parameter values?如何让scaladoc显示默认参数值?
【发布时间】:2013-03-05 01:44:11
【问题描述】:

我有很多方法,比如

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

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

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

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

【问题讨论】:

  • 不确定为什么默认值没有出现在 Scaladoc 中。这绝对是可能的——看看http://doc.akka.io/api/akka/2.0.5/#akka.testkit.TestKitreceiveWhile 方法。该方法的源代码没有什么特别之处。

标签: scala default-value scala-2.10 default-parameters scaladoc


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-11
    • 2011-12-26
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 2012-08-01
    相关资源
    最近更新 更多