ユニットコールバックをパラメータとするコールバック、つまりUnit
を返す関数があります。私がこのような私の関数を定義した場合、Adaptation of argument list by inserting() has been deprecated
という警告が表示されます。動作しますが、醜いですユニットを受け取って返すコールバックユニット
def myFunction (callback: Unit => Unit) = {
callback (());
}
:
動作しませんdef myFunction (callback: Unit => Unit) = {
callback;
}
(私のコールバックが呼び出されていない)、またはへ:this answerに続いて、私はに私のコードを変更しようとしました。二重括弧を避ける方法はありますか?おそらく、Unit => Unit
のパラメータタイプを、「1つのパラメータまたはタイプUnit
を取る関数」ではなく「パラメータを取らない関数」を意味する何かに変更することによって、
多分、ユニットを取る必要はありませんか? 'def myFunction(コールバック:=>ユニット)=コールバック' –
[()による引数リストの適用が廃止されました](http://stackoverflow.com/questions/25351988/adaptation-of-argument-list) -by-inserted-has-been-dep-been-deprecated) –
'callback'の本体は、その型が' Unit => Unit'の場合、単に 'Unit => Unit'関数を返します。 'Unit'値を取得するには、' Unit'型の '()'を渡す必要があります。 –