當我在工作表中運行以下內容時,一切都如預期。調用Scala輔助構造函數時需要新增嗎?
case class P(x: Int, xs: Set[Int]) {
def this(x: Int) = this(x, Set[Int]())
}
P(1, Set()) //> res0: worksheet.P = P(1,Set())
new P(1) //> res0: worksheet.P = P(1,Set())
當我離開關新我得到診斷編譯器,上面寫着:
- not enough arguments for method apply: (x: Int, xs: Set[Int])worksheet.P in object P. Unspecified value parameter xs.
在常規.scala文件相同的診斷出現。
這是一個編譯器錯誤,還是我誤解了一些東西?
我希望Scala能夠從第一次遇到它時變得直觀和易於理解。文件中說明(據我所知,案件類別不需要「新」)。這個答案似乎告訴我說文檔是錯誤的。更糟糕的是,它似乎告訴我,我必須瞭解Scala是如何實現的,才能知道如何使用它。這不好。 – RussAbbott
「文檔中說明了(據我所知,案例類不要求」新「)」哪些文檔? –