Exemple #1
0
};
$dummyFunc = function ($v) {
    return $v;
};
if (!isset($argv[1])) {
    return;
}
switch ($argv[1]) {
    case "funcsum":
        test(function () use($add1, $sum) {
            echo "func result: " . array_reduce(array_map($add1, range(0, ITER_MAX)), $sum) . PHP_EOL;
        });
        break;
    case "lazysum":
        test(function () use($add1, $sum) {
            echo "lazy result: " . Lazy::fromRange(0, ITER_MAX)->map($add1)->reduce($sum) . PHP_EOL;
        });
        break;
    case "itersum":
        test(function () use($add1, $sum, $dummyFunc) {
            $result = 0;
            $tmp = null;
            for ($i = 0; $i <= ITER_MAX; $i++) {
                //                $result += $i + 1;
                $result += $add1($i);
                $tmp = $dummyFunc($tmp);
            }
            echo "iter result: " . $result . PHP_EOL;
        });
        break;
    case "lazyfile":
Exemple #2
0
//*/
///*
echo Lazy::fromRange(0, 9)->map(null, [1, 2, 3], [4, 5, 6]);
//*/
///*
echo Lazy::fromRange(0, 10)->map(function ($v) {
    return $v + 1;
})->filter(function ($v) {
    return $v & 1;
});
echo Lazy::fromRange(0, 10)->map(function ($v) {
    return $v + 1;
})->filter(function ($k) {
    return $k === 0;
}, ARRAY_FILTER_USE_KEY);
echo Lazy::fromRange(0, 10)->map(function ($v) {
    return $v + 1;
})->filter(function ($v, $k) {
    return $k === 0 && $v === 1;
}, ARRAY_FILTER_USE_BOTH);
//*/
///*
$input = ["x0" => 0, "x1" => 1, "x2" => 2, "x3" => 3, "x4" => 4, "x5" => 5];
echo Lazy::fromArray($input)->map(function ($v) {
    return $v + 1;
})->filter(function ($v) {
    return $v & 1;
});
echo Lazy::fromArray($input)->map(function ($v) {
    return $v + 1;
})->filter(function ($v) {