Spec-Zone.ru › Dart 2

dart:collection

метод expand<T>

Iterable<T> expand<T>(
  1. Iterable<T> f(
    1. E element
    )
)
переопределение

Преобразует каждый элемент этого Iterable в ноль или более элементов.

Полученный Iterable последовательно проходит по элементам, возвращаемым toElements для каждого элемента этой коллекции в порядке итерации.

Возвращаемый Iterable является ленивым и вызывает 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(E element)) =>
    ExpandIterable<E, T>(this, f);

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-collection/ListMixin/expand.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API