Rust ツアー 目次

やっつけな Option/Result 処理

Option/Result を使って作業するのは、ちょっとしたコードを書くのには厄介です。 OptionResult の両方には unwrap と呼ばれる関数があり、手っ取り早く値を取得するのには便利です。 unwrap は以下のことを行います。

  1. Option/Result 内の値を取得します。
  2. 列挙型が None/Err の場合、panic! します。

以下の2つのコードは等価です。

my_option.unwrap()
match my_option {
    Some(v) => v,
    None => panic!("Rust によって生成されたエラーメッセージ!"),
}

同様に:

my_result.unwrap()
match my_result {
    Ok(v) => v,
    Err(e) => panic!("Rust によって生成されたエラーメッセージ!"),
}

良い Rust 使い(Rustacean)であるためには、可能な限り適切に match を使用してください。