名前による呼び出しの利点の 1 つは、次の例では、expectedOperation() が実行されないことです。
値による呼び出し:
def test( x: Int, y: Int ): Int = x * x
// expensiveOperation is evaluated and the result passed to test()
test( 4, expensiveOperation() )
名前による呼び出し:
def test( x: Int, y: => Int ): Int = x * x
// expensionOperation is not evaluated
test( 4, expensiveOperation() )
私の質問は、関数パラメーター (私の場合は y) を使用しないのに、なぜ宣言するのでしょうか?