#result #语法糖 #map

drop_ok

.drop_okResult 的语法糖。它相当于 .map(|_|())

3 个稳定版本

1.0.2 2020 年 8 月 10 日

#2616Rust 模式

每月 26 次下载
用于 web-sugars

MIT 许可证

4KB

drop_ok

  • 此crate定义了DropOk<E>特质并为Result实现了。
  • DropOk<E>特质具有.drop_ok(self) -> Result<(), E>函数。
  • 这是一个.map(|_|())的语法糖。

实用场景

fn some_function() -> Result<(), MyError>
{
 match switcher
 {
  pattern_a => some_task1().drop_ok()?
  pattern_b => some_task2().drop_ok()?
  pattern_c => some_task3()?
  pattern_d => some_task4()
  _ => ()
 }
}

fn some_task1()     -> Result<i8     , MyError> { /* abbr */ }
fn some_task2<'a>() -> Result<&'a str, MyError> { /* abbr */ }
fn some_task3()     -> Result<()     , MyError> { /* abbr */ }
fn some_task4() { /* abbr */ }
  • 另请参阅:<tests/test.rs>

注意

"我不需要它,因为 ..."

  • 是的,在你的世界里你是正确的。
    • 但我已经尝试过键入/看到.map(|_|())。所以我很高兴使用.drop_ok()

许可证

作者

无运行时依赖