🦞
[Rust] Resultのメソッド早見表
Result
| Method | Ok(5) | Err("失敗") | 動作 |
|---|---|---|---|
| is_ok() | true | false | Ok か? |
| unwrap() | 5 | ! | Ok なら値 |
| unwrap_unchecked() | 5 | ! | Ok なら値。unsafe が必要 |
| expect("大失敗") | 5 | ! | Ok なら値。Err 時の文言必須 |
| unwrap_or(999) | 5 | 999 | Ok なら値で Err なら補完 |
| unwrap_or_else(|_| 999) | 5 | 999 | 〃 |
| unwrap_or_default() | 5 | 0 | 〃 |
| map_or(999, |e| e * 2) | 10 | 999 | Ok なら {} で Err なら補完 |
| map_or_else(|_| 999, |e| e * 2) | 10 | 999 | 〃 |
| map(|e| e * 2) | Ok(10) | Err("失敗") | Ok なら {} を Ok で返す |
| and_then(|e| Ok(e * 2)) | Ok(10) | Err("失敗") | Ok なら {} を Result で返す |
| and_then::<i32, _>(|_| Err("x")) | Err("x") | Err("失敗") | 〃 |
| is_err() | false | true | Err か? |
| expect_err("xxx") | ! | "失敗" | Err なら値。Ok 時の文言必須 |
| unwrap_err_unchecked() | ! | "失敗" | Err なら値。unsafe が必要 |
| map_err(|e| format!("大{}", e)) | Ok(5) | Err("大失敗") | Err なら {} を Err で返す |
| err() | None | Some("失敗") | Err なら Some 化 |
| and(Ok(6)) | Ok(6) | Err("失敗") | Ok を真として AND |
| or::<i32>(Ok(6)) | Ok(5) | Ok(6) | Ok を真として OR |
| ok() | Some(5) | None | Ok なら Some 化 |
Discussion