2 个版本
0.1.1 | 2019年12月22日 |
---|---|
0.1.0 | 2019年12月22日 |
#249 in 无标准库
114 每月下载量
9KB
117 代码行
storage_zip
此 crate 提供将 Options 和 Results 压缩成元组的实用函数。
当不同的操作产生 Options 或 Results 值,但程序流程只能在它们都为 Some 或 Ok 时继续时使用。当与 Result 一起使用时,它要求所有要压缩的 Results 都具有相同的错误类型,并将评估为第一个错误或包含所有 Ok 值的元组。
使用此 crate 可以做
use storage_zip::OptionZip;
let option_value_one = Some(0);
let option_value_two = Some(5);
let zipped_options = Option::zip(option_value_one, option_value_two);
assert_eq!(zipped_options, Some((0, 5)));
该 crate 还提供了具有更多参数的 zip 函数
use storage_zip::ResultZip;
use std::fs::File;
use std::io;
let f1 = File::open("file1");
let f2 = File::open("file2");
let f3 = File::open("file3");
let zipped_result: Result<(File, File, File), io::Error> = Result::zip3(f1, f2, f3);
许可
在以下任一许可下发布:
- Apache License,版本 2.0,(LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则你提交的任何贡献,根据 Apache-2.0 许可证定义,均应按上述方式双许可,不附加任何额外条款或条件。