Тур по Rust Содержание

Грязная обработка Option/Result

Обрабатывать каждый Option/Result может быть очень утомительным, когда вы всего-то хотите написать немного кода по-быстрому. Оба Option и Result имеют метод unwrap(), который полезен для извлечения значения, быстрым и не аккуратным способом. Метод unwrap работает так:

  1. Вернет внутреннее значение из Option/Result, если оно есть
  2. Если значение было None или Err, то метод выполнит макрос 'panic!' (паника)

Эти два блока кода эквивалентны:

my_option.unwrap()
match my_option {
    Some(v) => v,
    None => panic!("some error message generated by Rust!"),
}

Соответственно:

my_result.unwrap()
match my_result {
    Ok(v) => v,
    Err(e) => panic!("some error message generated by Rust!"),
}

Будь хорошим разработчиком и используй match, где это необходимо!