[Перевод] Функциональное программирование с PHP-генераторами |
Генераторы классные. Они облегчают написание итераторов, определяя функции вместо создания целых классов, реализующих Iterator
. Также генераторы помогают создавать ленивые списки (lazy list) и бесконечные потоки. Главное отличие функции-генератора от обычной функции в том, что обычная может возвращать только один раз (после этого её исполнение прекращается), а функция-генератор в ходе исполнения способна выдавать несколько значений. При этом в перерывах между возвратами исполнение генератора ставится на паузу до следующего запуска. Поэтому генераторы могут использоваться для создания списков с лениво генерируемыми значениями, то есть каждый элемент в списке вычисляется только в момент востребованности.
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |