1

私は多くの方法を持っています

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

しかし、(sbt を使用して) scaladoc を実行するとrunFinalizer、デフォルト値を持つドキュメントが表示されません。falseユーザーがパラメータを設定することはめったになく、生成されたドキュメントには省略できることが示されていないため、これは非常に問題です。

これまでのところ、2 つの解決策がありますが、どちらも完全に満足できるものではありません。

  1. runFinalizerブロック内で省略できる事実を文書化し@paramます。これは役に立ちますが、ドキュメントの多くの場所でそのような文が重複することになり、ユーザーが見落とす可能性があります。
  2. メソッドの 2 つのバリアントを作成します。1 つはありrunFinalizers(デフォルト値なし)、もう 1 つはなしです。しかし、これはメソッドの数を不必要に 2 倍にし、コードとドキュメントの両方を混乱させます。
4

1 に答える 1

1

SI- 4922デフォルトの引数値の省略. Scala 2.10.1 にアップグレードしました。そしてそれはうまくいっています。

于 2013-03-18T16:07:43.140 に答える