Привязка переменной к выражению совпадения может быть выполнена с помощью @
и имени переменной, например:
#[derive(Debug)]
enum Foo {
First,
Second,
Third,
Fourth,
}
fn bar(f: Foo) {
match f {
e @ Foo::First => println!("{:?}", e),
_ => {}
}
}
Если вы хотите связать e
с несколькими совпадениями, вы должны повторитьпривязка на каждую возможность.
fn bar(f: Foo) {
match f {
e @ Foo::First | e @ Foo::Second | e @ Foo::Fourth => println!("{:?}", e),
_ => {}
}
}
Есть ли более простой способ сделать это?