Spec-Zone.ru › Dart 2

dart:core

Iterable<E>.generate конструктор

Iterable<E>.generate(
  1. int count,
  2. [E generator(
    1. int index
    )?]
)

Создаёт Iterable, который генерирует свои элементы динамически.

Сгенерированный итерируемый объект имеет count элементов, а элемент с индексом n вычисляется путём вызова generator(n). Значения не кэшируются, поэтому каждый раз при итерации вычисляются заново.

Если generator опущено, по умолчанию используется функция идентичности для целых чисел (int x) => x, поэтому это возможно только в том случае, если параметр типа допускает целые значения. То есть, если E является супертипом int.

В качестве Iterable, Iterable.generate(n, generator)) эквивалентно const [0, ..., n - 1].map(generator).

Реализация

factory Iterable.generate(int count, [E generator(int index)?]) {
  if (count <= 0) return EmptyIterable<E>();
  return _GeneratorIterable<E>(count, generator);
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/Iterable/Iterable.generate.html

Spec-Zone.ru

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