2017-02-10 39 views
1

我遇到過這種情況。函數定義和類定義的區別是什麼

class Test(a: List[Int])(b: a.type) //This won't compile 
def test(a: List[Int])(b: a.type) = ??? //This will compile 

有人可以向我解釋爲什麼這是嗎?

+0

編譯於2.11 – slouc

+0

@slouc http://i.imgur.com/fmbLCEn.png。這是我在控制檯中遇到的錯誤。 –

+1

https://issues.scala-lang.org/browse/SI-5712 –

回答

0

這不是一個函數定義,它是一個方法定義。另一個是類定義。該功能稱爲依賴方法類型。換句話說:它是方法的一個特徵。一個類不是一種方法。

+0

語義無關緊要。這仍然是一個應該在那裏的功能。這根本不回答我的問題。請看這裏:https://issues.scala-lang.org/browse/SI-5712。 –

相關問題