您可以使用if let
模式匹配范围:
let n=1
if let 1...3 = n { println!("found in range") }
但我不能让它适用于多种模式:
// this does not compile
if let 1 | 2 | 3 = n { println!("found in pattern") }
// -^ unexpected token
我认为第二个if let
去了:
// this does compile and work
match n {
1 | 2 | 3 => println!("found in pattern"),
_ => {}
}
那么给出了什么?我使用了错误的语法吗?我是否期望多种模式应该被误导?这只是没有实现吗?