Dart Streamクラスのany()メソッドについてメモ書き。
any()はStreamの要素をチェックするメソッド。
Streamの要素がanyの引数で指定した条件を満たした場合trueを返し、any()はそこで終了する。
条件を満たさなかった場合はfalseを返す。
戻り値の型はFuture<bool>。
コーディングで動作確認。
先ずは条件を満たす場合。
void main() {
Stream.fromIterable([1, 2, 3, 4, 5])
..listen((event) {
print(event);
})
// 3より大きい要素でtrue
..any((element) => element > 3).then(
(value) => print(value),
);
}
実行結果。
1
2
3
4
true
5
次は条件を満たさない場合。
void main() {
Stream.fromIterable([1, 2, 3, 4, 5])
..listen((event) {
print(event);
})
// 5より大きい要素が無いので最後にfalse
..any((element) => element > 5).then(
(value) => print(value),
);
}
実行結果。
1
2
3
4
5
false
コメント