2

method1 2 のときに 1 を返す理由method2:

def method1 = try { 1 } finally { 2 }                  

def method2: Int = try { return 1 } finally { return 2 }

method2また、戻り値の型を指定する必要があるのはなぜですか?

4

1 に答える 1

3

この質問はおそらく朝までに締め切られるでしょうが、ただの楽しみです:

scala> def foo = return 1
<console>:7: error: method foo has return statement; needs result type
       def foo = return 1
                 ^

SLS 6.20: 「戻り式の型は scala.Nothing です。」

それは2番目の質問に答えます。結果の型の推論には役立ちません。

于 2013-09-05T05:36:23.933 に答える