7 个版本
使用旧 Rust 2015
0.1.7 | 2017年10月22日 |
---|---|
0.1.6 | 2017年10月20日 |
#10 在 #success
在 bitboard_xo 中使用
8KB
64 行
结果 crate
类型 Outcome
代表成功或失败:每个 Outcome
要么是 Success
要么是 Failure
use outcome::*;
fn do_something() -> Outcome {
Success
}
// The return value is an outcome
let result = do_something();
// Pattern Match
match result {
Success => println!("Well done!"),
Failure => println!("Oh well :("),
}
示例
在 Outcome
上使用 and_then
/use outcome::*;
// Returns `Failure`
let result = Outcome::from_bool(false);
match result.and_then(|| Success) {
Success => println!("Success! :)"),
Failure => println!("Failure :("),
}
在 Outcome
上使用 or_none
将其转换为 Option
use outcome::*;
let result = Success;
// Encapsulates arg within an option
match result.or_none("hello!") {
Some(s) => println!("{}", s),
None => println!("Nothing here!"),
}