#pipe #pipe-operator #pipeop #pipe-op

tuppipe

使用元组在 Rust 中实现的类似管道操作符的简单实现

4 个版本

0.1.3 2024 年 4 月 29 日
0.1.2 2024 年 4 月 28 日
0.1.1 2024 年 4 月 28 日
0.1.0 2024 年 4 月 28 日

897Rust 模式

Download history 257/week @ 2024-04-22 197/week @ 2024-04-29

每月 145 次下载

MIT 许可证

13KB
253

Rust 中的类似管道操作符的体验。

此包提供了一个方便的 Pipe 特征,您可以为任意类型实现它,以便将它们用作管道中的管道。

用法

以下示例中,pipe 函数生成一个 PartialPipe,可以用于使用右移(>>)操作符“完成”(调用)实现 Pipe 的任何类型。

use tuppipe::pipe;

const fn add_one(to: i32) -> i32 {
    to + 1
}

assert_eq!(2, pipe(0) >> (add_one, add_one));

元组中的第一个元素(元组是管道)在 >> 之后,将接收在 pipe 调用中看到的 0i32。管道中的第二个元素将接收来自管道中第一个元素的输出,依此类推。

默认实现 Pipe

请注意,Pipe 当前为以下内容实现了:从标准库实现 FnOnce 的任何内容,以及任何具有最多 16 个元素的元组,其中元组中的每个元素本身也实现 Pipe

这意味着,如果您真的需要一个比 16 个元素的元组更长的管道,您可以在元组之间无限地嵌套。


有关更多文档和示例,请参阅 文档

依赖关系