#pipe #pipeline #chaining #simple

no-std ufcs

使用方法调用语法调用自由函数的辅助特质

1 个不稳定版本

0.1.0 2019 年 12 月 10 日

#2193Rust 模式

Unlicense OR MIT

4KB

ufcs.rs

Crates.io License Build Status

ufcs::Pipe — 使用方法调用语法调用自由函数的辅助特质。

Rust 已经允许使用函数调用语法调用方法,但不能反过来。这个 crate 通过提供简单的辅助特质 Pipe 来填补这个空白。

使用方法

Cargo.toml

[dependencies]
ufcs = "0.1.0"

Rust 代码

use ufcs::Pipe;

示例

// Write this
foo().pipe(bar).pipe(baz);

// Instead of this
baz(bar(foo()));
// Write this
let text: String = reqwest::get("http://httpbin.org/get")
    .await?
    .json::<serde_json::Value>()
    .await?
    .pipe(toml::Value::try_from)?
    .pipe(|x| toml::to_string(&x))?;

// Instead of this
let text: String = toml::to_string(&toml::Value::try_from(
    reqwest::get("http://httpbin.org/get")
        .await?
        .json::<serde_json::Value>()
        .await?,
)?)?;

查看更多示例,请参阅 测试

另请参阅

大致相同的特性已在各种语言中实现或提出。

Rust

其他语言

无运行时依赖