次の例を検討してください
def foo(a: Int, b: Int = 100) = a + b
def bar(a: Int, b: Int = 100) = foo(a, b) * 2
これは機能しますが、両方の関数でbに同じデフォルト値を指定する必要があることに注意してください。私の意図は実際には次のとおりです
def bar(a: Int, b: Int) = foo(a, b) * 2
def bar(a: Int) = foo(a) * 2
ただし、オプションの引数が多く、チェーンに追加の関数(同じ方法でbarを呼び出すbazなど)がある場合、これは面倒になります。これをscalaで表現するためのより簡潔な方法はありますか?