Dart Streamクラスの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📁 Streamクラスの全体像・他の主要メソッド
Streamクラスのコンストラクタやその他のメソッド一覧は、以下の解説マップをご覧ください。
➔ Dart Streamクラスの使い方:コンストラクタと主要メソッド解説マップ

コメント