takeWhile方法

Iterable<E> takeWhile(
  1. bool test(
    1. E value
    )
)

创建一个按需计算的iterable,包含所有满足test条件的起始元素。

过滤操作按需进行。每个返回的iterable的新迭代器都会遍历this中的元素。

元素将通过遍历迭代器直到找到test(element)为false的元素。此时,返回的iterable停止(其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<E> takeWhile(bool test(E value)) => TakeWhileIterable<E>(this, test);