без доп. ифа?
// x: i32
match x {
0 => Err("Zero"),
_ => {
if x < 0 {
return Err("Negative");
}
Ok(x)
}
}
0 => Err("Zero"), x if x < 0 => Err("Negative"), _ => Ok(x),
можно кстати иначе подойти к вопросу, ща скину
use std::cmp::Ordering; fn main() { match x.cmp(&0) { Ordering::Less => Err("Negative"), Ordering::Equal => Err("Zero"), Ordering::Greater => Ok(x), }; }
Обсуждают сегодня