Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmCdMS 78 of 373 menu
◀ ▶

Несколько образцов в match в Rust

Одна ветка перебора может подходить сразу нескольким значениям. В образце через вертикальную черту перечисляют варианты, и при совпадении с любым из них выполняется один и тот же блок.

Так короче писать выходные дни, общие коды и другие группы, где ответ одинаковый для разных меток. Заглушку _ по-прежнему ставят, если нужен запасной случай.

Объединим субботу и воскресенье:

let day = 6; match day { 6 | 7 => println!("rest"), _ => println!("work"), }

Несколько меток можно поставить и для кодов ошибок:

let code = 404; match code { 404 | 500 => println!("err"), _ => println!("fine"), }

Одну ветку ставят сразу на несколько чисел, если ответ для них общий. Для 1 и 2 запишем одну фразу, для 3 другую. Провала в соседнюю ветку нет:

let num = 1; let res = match num { 1 | 2 => "a", 3 => "b", _ => "?", }; println!("{}", res); // выведет a

Дано число:

let slot = 2;

Для 1, 2 и 3 выведите "low", для остальных "high".

Дано число:

let mode = 9;

При 0 или 9 выведите "edge", иначе "mid".

Скажите, чем образец с вертикальной чертой отличается от нескольких отдельных веток с одним и тем же телом.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить