fiisoft/jackdaw-stream

一个强大且独特的库,用于在可迭代数据上提供类似流操作。充满bug,但仍然很有趣。

8.0.0 2024-07-12 13:35 UTC

README

让我们将原生PHP数组操作封装到类似流的包装器中,类似于Java和Scala。就这样!

这个库具有许多其他地方没有的独特功能。你需要它们吗?不,永远不需要。

如何安装?

使用composer(fiisoft/jackdaw-stream)。代码与PHP 7.4及更高版本兼容。

如何开始?

通常从Stream::from(...)开始。例如

Stream::from(Producers::sequentialInt())
    ->mapKey(static fn(int $n): int => ($n % 3 === 0 ? 2 : 0) | ($n % 5 === 0 ? 1 : 0))
    ->map(static fn(int $n, int $k): string => [$n, 'Buzz', 'Fizz', 'Fizz Buzz'][$k].', ')
    ->call(Consumers::usleep(100_000)) //slow down a bit
    ->forEach(STDOUT);

让它流动!

文档

不存在。抱歉。

Stream类是这个代码的入口点,因此请查看这个类的公共方法及其类型提示。分析示例和测试。

免责声明

我可以在不预先通知的情况下更改这个库中的任何内容,尽管我尽量保持语义版本控制。

而且,一如既往:除非你足够强大,能够免疫这样的糟糕代码(以及我的床英语),否则请不要使用它。