2017-02-10 20 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

これは関数定義ではなく、メソッド定義です。もう1つはクラス定義です。この機能は従属メソッドタイプと呼ばれます。つまり、メソッドの特徴です。クラスはメソッドではありません。

+0

セマンティクスは関係ありません。それはまだそこにあるはずの機能です。これは私の質問に全く答えません。こちらをご覧ください:https://issues.scala-lang.org/browse/SI-5712。 –

関連する問題