- strtoupper: documentation ( source)
- fwrite: documentation ( source)
<?php
function generator_eval(Generator $gen)
{
foreach ($gen as $k => $v) {}
}
function words()
{
foreach (["foo", "bar", "baz"] as $word) {
yield $word;
}
}
function uppercase(Traversable $in)
{
foreach ($in as $word) {
yield strtoupper($word);
}
}
function each_println(Traversable $in)
{
foreach ($in as $line) {
echo "$line\n";
}
}
$stderr = function() {
for (;;) {
$error = (yield);
fwrite(STDERR, "Error! $error\n");
}
};
each_println(uppercase(words()));