Dart Streamクラスのevery()メソッドについてメモ書き。
every()はStreamイベントの全要素が条件を満たすか確認するメソッド。
引数としてbool型を返すtest関数を渡し、条件を記述する。every()の戻り値はFuture<bool>型。条件を全て満たす場合はtrue、満たさない場合はfalseを返す。false、もしくはエラーを返す場合はその時点で処理を停止する。
それではコーディングで動作を確認。
各要素の文字数が3文字を超える場合はtrueを返す。
void main() async {
final listTest =
Stream.fromIterable(["Apple", "Orange", "Banana", "Pineapple"]);
await listTest.every((element) => element.length > 3).then(print);
}
実行結果。
true
次は条件を満たさない場合。
void main() async {
final listTest =
Stream.fromIterable(["Apple", "Orange", "Banana", "Pineapple"]);
await listTest.every((element) => element.length < 6).then(print);
}
実行結果。
false
コメント