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 日 |
897 在 Rust 模式 中
每月 145 次下载
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 个元素的元组更长的管道,您可以在元组之间无限地嵌套。
有关更多文档和示例,请参阅 文档。