2个版本 (1个稳定版)
1.0.0 | 2023年3月16日 |
---|---|
0.1.0 | 2022年1月21日 |
在Rust模式中排名1386
5KB
tailsome
提供将任何内容转换为Option
或Result
的方法的泛型特质。
受tap::Pipe
的启发,它提供了一个pipe
方法,允许用户在方法链中间调用任何裸函数。
这些特质中最有用的方法可能是IntoResult::into_ok
。不要将长方法链表达式包裹在调用Ok
中,而是尝试在末尾添加.into_ok()
。这在返回Result
并明智地使用方法链和?
运算符的函数中尤其令人愉悦。
use tailsome::IntoResult;
build_pipeline().unwrap();
fn build_pipeline() -> Result<Example, Error> {
Builder::new()
.set_option(42)
.try_set_option("some flag")?
.set_option("another option")
.build()
.into_ok()
}
struct Example;
struct Builder;
impl Builder {
fn new() -> Self { Self }
fn set_option<T>(self, t: T) -> Self { self }
fn try_set_option<T>(self, t: T) -> Result<Self, Error> { Ok(self) }
fn build(self) -> Example { Example }
}
#[derive(Debug)]
struct Error;