Шрифт:
8.3.5. Преобразование в массив или множество
Каждая перечисляемая структура теоретически может быть тривиально преобразована в массив (методом
Синонимом
Если была затребована библиотека
8.3.6. Энумераторы
Объект класса
В следующем искусственном примере в классе
Преобразование выглядит загадочно, но, по сути, это не что иное как:
В примере выше
Если затребована библиотека
Мы уже видели, как итераторы
8.3.7. Объекты-генераторы
Идея генератора довольно интересна. Обычный итератор в Ruby является внутренним, он запускает некоторый алгоритм, повторно вызывая блок кода.
Но бывают также и внешние итераторы. В этом случае алгоритм запускается самой программой, а итератор поставляет данные «по запросу», а не в соответствии с собственным «графиком».