Как стать автором
Обновить

Комментарии 4

О тут не корректнее писать так:
function iterator_reduce(callable $cb, iterable $itr, $initial = null) {
   if (is_null($initial) && $itr->valid()) {
...
А разве у `iterable` вообще корректно вызывать методы итератора? там же массив может быть. Либо тайпхинт перепутали, но работает за счет того что передают только итераторы
Когда только появились генераторы я реализовывал на ПХП пайтоновскую библиотек itertools: github.com/bolknote/itertools
Зарегистрируйтесь на Хабре, чтобы оставить комментарий