РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
285 of 723 menu

Конструктор generate

Конструктор generate класса Iterable создает новую ленивую последовательность (iterable), элементы которой вычисляются динамически при помощи переданной функции-генератора. В первый параметр мы передаем целое число count, которое задает количество элементов для генерации. Второй параметр - это функция generator, принимающая текущий индекс элемента и возвращающая значение для этого индекса.

Важной особенностью является ленивость вычислений: функция-генератор вызывается только тогда, когда происходит фактический доступ к элементу последовательности. Если количество элементов count равно нулю, создается пустая последовательность.

Синтаксис

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

Пример

Давайте создадим последовательность из 5 элементов, где каждый элемент равен своему индексу, и выведем результат в консоль:

void main() { Iterable<int> iter = Iterable.generate(5, (int index) => index); print(iter.toList()); }

Результат выполнения кода:

[0, 1, 2, 3, 4]

Пример

Давайте сгенерируем последовательность четных чисел, умножая индекс на 2:

void main() { Iterable<int> iter = Iterable.generate(5, (int index) => index * 2); print(iter.toList()); }

Результат выполнения кода:

[0, 2, 4, 6, 8]

Пример

Давайте создадим последовательность строк, используя значение индекса:

void main() { Iterable<String> iter = Iterable.generate(3, (int index) => 'abcde'[index]); print(iter.toList()); }

Результат выполнения кода:

[a, b, c]

Пример

Давайте проверим, что при count равном 0 создается пустая последовательность:

void main() { Iterable<int> iter = Iterable.generate(0, (int index) => index); print(iter.toList()); print(iter.isEmpty); }

Результат выполнения кода:

[] true

Смотрите также

  • класс Iterable,
    который представляет ленивую последовательность
  • метод toList,
    который преобразует последовательность в список
  • метод map,
    который преобразует элементы последовательности
  • метод where,
    который фильтрует элементы последовательности
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить