ズンドコジェネレータで、ズンドコキヨシ with PHP


ズンドコキヨシまとめ

ズンドコジェネレータで、普通に実装。

<?php
const ZUN = 'ズン';
const DOKO = 'ドコ';

$generator = function () {
    $zundoko = [ZUN, DOKO];
    for (;;) {
        yield $zundoko[mt_rand(0, 1)];
    }
};

$actual = [];
$expected = [ZUN, ZUN, ZUN, ZUN, DOKO];
foreach ($generator() as $v) {
    echo $v;

    $actual[] = $v;
    if (count($actual) > 5) {
        array_shift($actual);
    }

    if ($actual === $expected) {
        break;
    }
}

echo 'キ・ヨ・シ!';

実行結果