2013-03-16 45 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

回答