1つはオプションですが、括弧なしで呼び出す2つの名前による呼び出しパラメーターを持つメソッドが必要です。したがって、次のいずれかを実行できます。
transaction { ... }
また
transaction { ... } { ... }
私は試しました(そして解決しました):
def transaction(body: => Unit) { transaction(body, {}) }
def transaction(body: => Unit, err: => Unit) { ... } // Works by transaction({ ... },{ ... })
これはどうやら(理由はわかりませんが)次とは異なります。
def transaction(body: => Unit, err: => Unit = {}) { ... }
そして、私が望んでいたものは機能します(ただし、最初のパラメーターリストが同じであるため、機能しないと思います)。
def transaction(body: => Unit) { transaction(body)() }
def transaction(body: => Unit)(err: => Unit) { ... }
オプションの 2 番目の名前による呼び出しパラメーターの概念をどのように使用しますか?