Практика на ошибки в Rust
Дан следующий код:
let port: Result<i32, String> = Ok(8080);
Разберите port и выведите число
или текст сбоя.
Дан следующий код:
let port: Result<i32, String> =
Err(String::from("busy"));
Разберите port и выведите только
текст неудачной ветки.
Напишите функцию double с параметром
i32, которая для четного числа
возвращает удачный результат с удвоенным
значением, а для нечетного - сбой с
текстом "odd". Проверьте на
6 и 3 через разбор.
Дан следующий код:
fn load() -> Result<i32, std::num::ParseIntError> {
let n: i32 = "15".parse();
Ok(n)
}
Допишите знак вопроса у разбора и в
main выведите число или описание
сбоя разбора.
Даны переменные:
let a: Result<i32, String> = Ok(1);
let b: Result<i32, String> =
Err(String::from("stop"));
Разберите a и b подряд
и выведите две строки: число или текст
для каждой.
Скажите, сколько веток нужно в разборе
Result<i32, String> и можно ли
оставить только ветку удачи.