📝

Result<T, E>のメソッドリスト

2023/11/28に公開

個人的に良く使うもの or 見たことあるものをリストアップしてあります。

値の取り出しとエラーハンドリング

メソッド OKの場合 Errの場合
unwrap() 値を返す パニックを引き起こす
unwrap_err() パニックを引き起こす エラーを返す
unwrap_or(default_value) 値を返す default_valueを返す
unwrap_or_else(function) 値を返す 関数の結果を返す
expect(message) 値を返す 指定されたメッセージでパニック

マッピングと変換

メソッド OKの場合 Errの場合
map(function) 関数適用後の新しいResult 変更なし
map_err(function) 変更なし 関数適用後の新しいResult
and_then(function) 関数のResultを返す 変更なし
or_else(function) 変更なし 関数のResultを返す

状態確認

メソッド 説明
is_ok() ResultOkの場合にtrueを返す。
is_err() ResultErrの場合にtrueを返す。

参照とクローン

メソッド 説明
as_ref() Resultの不変参照を取得する。
as_mut() Resultの可変参照を取得する。
cloned() Result内の値をクローンして新しいResultを作成する。

Optionへの変換

メソッド 説明
ok() ResultOptionに変換し、Okの場合はSomeに、Errの場合はNoneにする。
err() ResultOptionに変換し、Errの場合はSomeに、Okの場合はNoneにする。

※functionはOKの場合に実行されるならOKの値が、Errの場合に実行されるならErrの値が引数に入ります。

Discussion