呼び出し可能なオブジェクト

Dart クラスのインスタンスを関数のように呼び出せるようにするには、call() メソッドを実装します。

call() メソッドを使用すると、それを定義する任意のクラスのインスタンスが関数をエミュレートできます。このメソッドは、パラメータや戻り値の型など、通常の関数と同じ機能をサポートしています。

次の例では、WannabeFunction クラスは、3 つの文字列を受け取り、それらをスペースで区切り、感嘆符を追加して連結する call() 関数を定義しています。「実行」をクリックしてコードを実行します。

class WannabeFunction {
  String call(String a, String b, String c) => '$a $b $c!';
}

var wf = WannabeFunction();
var out = wf('Hi', 'there,', 'gang');

void main() => print(out);