>「app 引数は必須」と書いてある
>なんか矛盾しているような気がするのですが、関数の書き方が間違っているからなのでしょうか。
お気持ちは分かりますが、関数の書き方は正しいです。
チルダ(~)に変わった引数3は削除出来ますが、引数1(app 引数)は必須なのでチルダ(~)のまま残す必要があります。
どちらもそのまま残しても何ら問題は無く、下記の方法に頼る必要はありません。
関数(メソッド)に引数1(オブジェクト)を渡さなくても良い方法として下記が考えられます
- 関数(メソッド)をクラスの外に出す(クラスとは無関係の関数にする)
- 静的メソッドを使う