サンプル集  >  Flutter  >  高階関数
高階関数
2024/12/01

高階関数の例です。

◆環境
OS Windows 10 Home 22H2 64bit OS x64 プロセッサ
Flutter 3.24.2
Dart 3.5.4
Android Studio Iguana 2023.2.1 Patch 1

[New]-[New Flutter Project...]出プロジェクトを作成します。

プロジェクト名は「ymflu005」としました。

~/lib/main.dartのコメント行を全て削除します。

関数を定義し+ボタンを押したときにコンソールに結果を表示するようにしてみます。

main.dart
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  // 高階関数
  String myCal(int a, int b, Function f) {
    return f(a, b).toString();
  }

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
    debugPrint('(1) ${myCal(1, 2, (a, b) => a + b)}');
    debugPrint('(2) ${myCal(1, 2, (a, b) => a - b)}');
    debugPrint('(3) ${myCal(1, 2, (a, b) => a * b)}');
    debugPrint('(4) ${myCal(1, 2, (a, b) => a / b)}');
  }

実行して+ボタンを押すとコンソールにメッセージが表示されました。

I/flutter (31665): (1) 3
I/flutter (31665): (2) -1
I/flutter (31665): (3) 2
I/flutter (31665): (4) 0.5

期待通りに動作しました。

▲ PageTop  ■ Home


Copyright (C) 2024 ymlib.com