Vulpo One

PHP Inline Generator

Внезапно до меня дошло как записать эту вещь в 1 строчку

<?php
foreach(call_user_func(function () {for ($i = 0; $i < 10; $i++) yield $i;}) as $i) echo $i;

Т.е. имеем такой синтаксис для “одноразовых” генераторов

<?php
$generator = call_user_func(function () {
     while(1) {
        yield generate_something();
    }
});

Comments