tmanley1985/php-transducers

PHP 的 transducers 实现

v1.0.1 2023-06-08 00:08 UTC

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 中。

  1. Transducers:映射
  2. Transducers:过滤

目录

安装

第一个

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 许可证