expand<<wbr><span class="type-parameter">T方法

Iterable<<wbr><span class="type-parameter">T expand<<wbr><span class="type-parameter">T
  1. Iterable<<wbr><span class="type-parameter">T f(
    1. String element
    )
)
继承

将此 Iterable 的每个元素扩展为零个或多个元素。

结果的可迭代表示按迭代顺序遍历每个元素通过 toElements 返回的元素。

返回的可迭代表示是惰性的,每次返回的可迭代表示被迭代时都会为可迭代的每个元素调用 toElements

示例

Iterable<int> count(int n) sync* {
  for (var i = 1; i <= n; i++) {
    yield i;
   }
 }

var numbers = [1, 3, 0, 2];
print(numbers.expand(count)); // (1, 1, 2, 3, 1, 2)

相当于

Iterable<T> expand<T>(Iterable<T> toElements(E e)) sync* {
  for (var value in this) {
    yield* toElements(value);
  }
}

实现

Iterable<T> expand<T>(Iterable<T> f(String element)) =>
    readClasses().expand<T>(f);