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

Разбор данных варианта в Rust

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

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

fn main() { enum Shape { Circle(i32), Rect(i32, i32), } let shape = Shape::Circle(10); match shape { Shape::Circle(r) => println!("{}", r), Shape::Rect(w, h) => { println!("{}", w); println!("{}", h); } } }

Для прямоугольника два имени получают ширину и высоту по порядку в объявлении варианта. Круг дает одно имя для радиуса:

fn main() { enum Shape { Circle(i32), Rect(i32, i32), } let shape = Shape::Rect(3, 5); match shape { Shape::Circle(r) => println!("{}", r), Shape::Rect(w, h) => println!("{}", w + h), } }

Дано перечисление:

enum Shape { Circle(i32), Rect(i32, i32), } let shape = Shape::Circle(7);

Разберите shape и выведите радиус в main.rs.

Дано перечисление:

enum Shape { Circle(i32), Rect(i32, i32), } let shape = Shape::Rect(2, 9);

Разберите shape и выведите сумму ширины и высоты.

Дано перечисление:

enum Ticket { Adult(i32), Child(i32), } let t = Ticket::Child(6);

Разберите t и выведите число из варианта в main.rs.

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