praswicaksono/lazy-collection

dev-master 2016-03-09 14:07 UTC

This package is not auto-updated.

Last update: 2024-09-20 17:58:07 UTC


README

Build Status

此集合实现了 nikic/iter 以使用 生成器 提供延迟初始化和操作

安装

composer require praswicaksono/lazy-collection dev-master

用法

从生成器构建

$iterable = function () {
    for ($i = 1; $i <= 5; $i++) {
        yield $i;
    }
};

$collection = IterableCollection::fromGenerator($iterable());

从数组构建

$collection = IterableCollection::fromArray([1, 2, 3, 4, 5]);

示例用法

$iterable = function () {
    for ($i = 1; $i <= 5; $i++) {
        yield $i;
    }
};

$result = IterableCollection::fromGenerator($iterable())
    ->map(function ($value) {
        return $value * 10;
    })
    ->filter(function ($value) {
        return $value > 30;
    })
    ->reduce(function ($acc, $value, $startValue) {
        return $acc + $value;
    });

// $result = 90

更多信息,请查看 test 测试套件。

贡献

欢迎提交 PR(Pull Requests)!

许可证

MIT