Dart Steamクラスfold()メソッド

Dar言語StreamクラスtoSet()メソッドDart

dart Steamクラスのfold()メソッドについてメモ書き。

fold()はStreamイベントの前要素と次要素を繰り返し結合するメソッド。
fold()は第1引数で初期値を設定し、第2引数で結合処理用のcombine関数を実装する。
combine関数は第1引数で前要素を受け取り、第2引数で次要素を受け取る。
fold()メソッドはStreamイベントからdone(完了イベント)を受け取るとFuture型の戻り値を返す。対象のStreamイベントが空の場合は初期値を返す。

それではコーディングで動作確認。
初期値として100を設定する。

void main() async {
  final listTest = Stream.fromIterable([1, 2, 3, 4, 5]);
  final fd =
      await listTest.fold(100, (previous, element) => previous + element);
  print(fd);
}

実行結果。
「100+1+2+3+4+5=115」が返る。

115

コメント

タイトルとURLをコピーしました