[解決済み] Dartで型付き関数をパラメータとして渡す
2023-02-22 16:41:02
質問
私は 機能 クラスは、次のように別の関数にパラメータとして渡すことができます。
void doSomething(Function f) {
f(123);
}
しかし、関数パラメータの引数や戻り値の型を制約する方法はあるのでしょうか?
例えば、この場合
f
は整数に対して直接呼び出されていますが、別の型を受け入れる関数であった場合はどうでしょうか?
として渡してみました。
Function<Integer>
として渡そうとしましたが、Functionはパラメトリックな型ではありません。
パラメータとして渡される関数のシグネチャを指定する他の方法はないのでしょうか?
どのように解決するのですか?
Dart v1.23 では、関数型を記述するための新しい構文が追加され、インラインでも動作するようになりました。
void doSomething(Function(int) f) {
f(123);
}
関数パラメータ構文と比較して、変数や型を書きたい場所にも使えるという利点があります。
void doSomething(Function(int) f) {
Function(int) g = f;
g(123);
}
var x = <int Function(int)>[];
int Function(int) returnsAFunction() => (int x) => x + 1;
int Function(int) Function() functionValue = returnsAFunction;
関連
-
[解決済み] オブジェクトのためのマップ関数(配列の代わりに)
-
[解決済み] (関数型)リアクティブプログラミングとは?
-
[解決済み] 関数型プログラミングで時間関数が存在するのはなぜですか?
-
[解決済み] クロージャ」とは何ですか?
-
[解決済み】ミュータブルステートなしで何か役に立つことができるのか?
-
[解決済み】関数型プログラミングのソフトウェア工学の方法論はありますか?[クローズド]
-
[解決済み] First Class FunctionとHigh Order Functionの違いについて
-
[解決済み] ヒンドレーミルナーとは?
-
[解決済み] 関数型プログラミングにおける「ポイントフリー」スタイルとは?
-
[解決済み] 純粋関数型言語において、逆関数を得るためのアルゴリズムはあるか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン