예제 #1
0
파일: LazySum.php 프로젝트: mwijngaard/lazy
function lazy_sum($traversable)
{
    return lazy_reduce($traversable, function ($res, $value) {
        return $value + $res;
    }, 0);
}
예제 #2
0
function lazy_count($traversable)
{
    return lazy_reduce($traversable, function ($prev) {
        return $prev + 1;
    }, 0);
}
예제 #3
0
function lazy_product($traversable)
{
    return lazy_reduce($traversable, function ($res, $value) {
        return $value * $res;
    }, 1);
}
예제 #4
0
파일: LazyMax.php 프로젝트: mwijngaard/lazy
function lazy_max($traversable)
{
    return lazy_if(lazy_empty($traversable), lazy_exception(new \DomainException("Cannot determine max for empty traversable")), lazy_reduce($traversable, function ($res, $value) {
        return $value > $res || $res === null ? $value : $res;
    }, null));
}