RustでOptionをResultにok_orで変換する

自分で判定したりmapを使ってResultにする方法ありますが、一番シンプルに書けるのはok_orを使う方法だと思いました。

fn main() {
    let hoge1: Option<i8> = Some(1);
    let hoge2: Option<i8> = None;

    assert_eq!(hoge1.ok_or("test"), Ok(1));
    assert_eq!(hoge2.ok_or("test"), Err("test"));
}

ok_orを通すことでSomeOkになり、NoneErrになっており、値が中に与えたものになっていることがわかります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA