expand< T> метод
-
Iterable<
T> toElements( - E element
Разворачивает каждый элемент этого Iterable в ноль или более элементов.
Результирующий Iterable проходит по элементам, возвращаемым toElements для каждого элемента этого Iterable, в порядке итерации.
Возвращённый Iterable является ленивым и вызывает toElements для каждого элемента этого iterable каждый раз при итерации по возвращённому iterable.
Пример:
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> toElements(E element)) =>
ExpandIterable<E, T>(this, toElements);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/Iterable/expand.html