Spec-Zone.ru › Dart 1

dart:core

Фабричный конструктор Iterable.generate

Iterable.generate(int count, [ E generator(int index) ])

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

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

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

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

Исходный код

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

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/Iterable/Iterable.generate.html

Spec-Zone.ru

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