Result型のメソッドをまとめる

2019-01-25#rust

Rustに慣れてくるにつれて、Result型を使いこなすことで効率的にコードが書くことができそうということがわかってきた。ただ、いろんなメソッドがあり、それぞれOkの場合とErrの場合で挙動が異なるため、表にまとめることにした。

条件分岐

メソッドOkの場合Errの場合
and引数のResultを返すselfを返す
and_then引数のクロージャを実行して結果のResultを返すselfを返す
orselfを返す引数のResultを返す
or_elseselfを返す引数のクロージャを実行して結果のResultを返す

unwrap

メソッドOkの場合Errの場合
unwrap値を返すErrに含まれるメッセージと共にpanicを起こす
expect値を返す引数のメッセージと共にpanicを起こす
unwrap_errOkの値を含むメッセージと共にpanicを起こす値を返す
expect_err引数のメッセージと共にpanicを起こす値を返す
unwrap_or値を返す引数の値を返す
unwrap_or_else値を返す引数のクロージャを実行して結果の値を返す
unwrap_or_default値を返す値の型のデフォルト値を返す