Практика на панику в Rust
Дано число:
let num = 0;
Напишите main, который проверяет
делитель и прерывает запуск с текстом
"zero divider", если он равен
нулю, иначе выводит частное 10
и 2.
Дан следующий код:
fn pick() -> Option<i32> {
Some(4)
}
В main получите число из результата
pick и выведите его удвоенное
значение.
Дан следующий код:
fn empty() -> Option<i32> {
None
}
В main попробуйте получить число
с пояснением "no data" при сбое.
Скажите, что произойдет при запуске,
не выполняя код, если не хотите прерывания.
Дана функция:
fn cap(s: &str) -> Option<char> {
s.chars().next()
}
Для строки "rust" выведите первый
символ через извлечение. Для пустой
строки "" опишите, чем отличается
извлечение без своего текста и с текстом
"empty input" при запуске.
Дан следующий код:
fn deny_empty(label: &str) {
if label.is_empty() {
panic!("empty label");
}
}
Добавьте блок тестов: один тест ждет
остановку при пустой строке, второй
проверяет, что при "ok" функция
не прерывает выполнение. Запустите
cargo test.
Даны фрагменты:
let a: Option<i32> = Some(1);
let b: Option<i32> = None;
Соберите main, который выводит
сумму из a и число из b
через извлечение. Объясните, на какой
строке остановится запуск и почему
сборка все равно может пройти.