mcpField
V
various-ways-to-invoke-functions-in-dart

various-ways-to-invoke-functions-in-dart

github.com/rodydavis開発6045 回インストール2 週間前に更新
リポジトリ

various-ways-to-invoke-functions-in-dart について

位置引数と名前付き引数の混在、`.call`、`Function.apply` など、Dart の関数呼び出し方法を解説するスキルです。呼び出し構文とその影響を学ぶ開発者向けです。

主な機能

  1. 01位置引数と名前付き引数の混在
  2. 02`.call` による関数呼び出し
  3. 03`Function.apply` による動的呼び出し
  4. 04JavaScript コンパイルへの影響の説明

活用シーン

  1. 01位置引数と名前付き引数で関数を呼び出す
  2. 02関数参照を動的に呼び出す

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rodydavis/skills --skill various-ways-to-invoke-functions-in-dart

インストール後、Claude Code で/various-ways-to-invoke-functions-in-dartを入力して読み込まれたか確認します。

詳細

Dart で関数を呼び出すさまざまな方法

Dart で関数を呼び出す方法はいくつかあります。

以下の例では、次の関数を使用します。

void myFunction(int a, int b, {int? c, int? d}) {
  print((a, b, c, d));
}

ただ最近、名前付き引数と組み合わせて、関数の位置引数を任意の順序で呼び出せることを知りました。🤯

myFunction(1, 2, c: 3, d: 4);
myFunction(1, c: 3, d: 4, 2);
myFunction(c: 3, d: 4, 1, 2);
myFunction(c: 3, 1, 2, d: 4);

また、関数への参照がある場合は、.call演算子を使って関数を呼び出すこともできます。

myFunction.call(1, 2, c: 3, d: 4);

Function.applyを使うと、関数への参照を指定して動的に関数を呼び出すこともできます。ただし、JS 向け Dart のコンパイルサイズとパフォーマンスに影響する点に注意してください。

Function.apply(myFunction, [1, 2], {#c: 3, #d: 4});

これらの方法はいずれも、次の内容を出力します。

(1, 2, 3, 4)

デモ

コメント