Dartのラムダ式

Dartでは以下の形式でラムダ式を書くことができます。

(int i) {
  return i + 1;
};

変数succに上記のラムダ式をバインドします。

int Function(int) succ = (int i) {
  return i + 1;
};

バインドした変数を経由してラムダを実行します。

print(succ(0)); // => 1
print(succ(100)); // => 101

以下の形式は上記の形式の糖衣構文です。

int Function(int) succ2 = (int i) => i + 1;

print(succ2(0)); // => 1
print(succ2(100)); // => 101

ラムダ式を渡して実行してみます。

int calculate(int Function(int) func, int input) {
  return func.call(input);
}

print(calculate(succ, 42)); // => 43

当然、名前をつけないラムダ式を渡すこともできます。

print(calculate((int i) => i + 1 , 42)); // => 43

筆者

茨城県つくば市在住のソフトウェアエンジニアです。得意領域はAndroidとFlutterです。「Jetpack ComposeによるAndroid MVVMアーキテクチャ入門」の著者です。

👉もっと詳しく