tmanley1985 / php-transducers
PHP 的 transducers 实现
v1.0.1
2023-06-08 00:08 UTC
Requires
- php: ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- pestphp/pest: ^1.20
This package is auto-updated.
Last update: 2024-09-08 03:08:06 UTC
README
PHP 中 transducers 的实现
关于
Transducers 允许您通过组合减少函数(reducers)来组合 map 和 filter 操作,而无需中间数据结构。它们就像减少函数的工厂。每次您运行 map 或 filter 操作时,都会创建一个新的中间数据结构,这通常是微不足道的,但随着输入大小的增加,这些操作也会随之增加。
真正的 transducers 应该能够在多个数据结构上操作:树、流、数组等。这个库只操作数组。
我制作了两段视频,作为关于 YouTube 上 reduce 方法更大系列的一部分。所有示例都在 es6 中。
目录
安装
第一个
composer require tmanley1985/php-transducers
用法
use TManley1985\PhpTransducers\TransducibleCollection; TransducibleCollection::fromValues([10,11,12,13]) ->transMap(fn ($num) => $num + 1) ->transFilter(fn ($num) => $num % 2 === 0) ->transduce(); // [12,14]
版本
我们使用 SemVer 进行版本控制。
许可
本项目采用 MIT 许可证