小白又来了,不知道论坛欢不欢迎。新人第一次学习,希望多多关照。
fn main() {
let x = 4;
let y = false;
match x {
4 | 5 | 6 if y => println!("yes"),
_ => println!("no"),
}
}
这是官方教程的示例。我想把它改成 当 x 等于 4 或者 5 或者 6 或 y 等于 false时,输出 yes。该如何改?
1
共 7 条评论, 1 页
评论区
写评论你这个不对。if !y和前面的条件形成了与的关系。最终的效果是(x==4||x==5||x==6)&&!y。可以参考官方文档。
--
👇
snylonue: ```rust fn main() { let x = 4; let y = false;
}
比较喜欢这样的
如果不能优化,理论上(4, _) | (5, _) | (6, ) 应该比使用Range的表达(4..=6,)编译结果更好一点点,美是简单!
大家写得都不错,最直白的写法就是:
非常欢迎萌新,我也是,新手可以一起学习,非常好。 这道题我会选择多写个if else,楼上的写法很有趣,但不清晰明了。