Метод takeWhile
inherited
Возвращает ленивую итерацию ведущих элементов, удовлетворяющих test.
Фильтрация выполняется лениво. Каждый новый итератор возвращаемой итерации начинает итерацию по элементам this.
Элементы могут быть вычислены путем перебора итератора, пока не будет найден элемент, для которого test(element) ложно. В этот момент возвращаемая итерация останавливается (ее moveNext() возвращает false).
Пример:
final numbers = <int>[1, 2, 3, 5, 6, 7]; var result = numbers.takeWhile((x) => x < 5); // (1, 2, 3) result = numbers.takeWhile((x) => x != 3); // (1, 2) result = numbers.takeWhile((x) => x != 4); // (1, 2, 3, 5, 6, 7) result = numbers.takeWhile((x) => x.isOdd); // (1)
Реализация
Iterable<String> takeWhile(bool test(String value)) =>
readClasses().takeWhile(test);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-svg/AttributeClassSet/takeWhile.html