История изменений
Исправление mersinvald, (текущая версия) :
Это какой-то бред. Тернарный оператор работает только для булевой логики и писать match в таких местах — антипаттерн Rust'а. Вместо тернарного оператора используется конструкция if-else
let result = if a {1} else {0};
enum A {
B(u32),
D(u32, u8, String, Vec<u64>)
}
match a {
A::B(c) => println!("A::B({})", c)
A::D(e, ..) => println!("A::D({}, ..", e)
}
Исходная версия mersinvald, :
Это какой-то бред. Тернарный оператор работает только для булевой логики и писать match в таких местах — антипаттерн Rust'а. Вместо тернарного оператора используется конструкция if-else
let result = if a {a.b} else {0};
enum A {
B(u32),
D(u32, u8, String, Vec<u64>)
}
match a {
A::B(c) => println!("A::B({})", c)
A::D(e, ..) => println!("A::D({}, ..", e)
}