编者注:这个问题是在 Rust 1.0 发布之前提出的,..
引入了“范围”运算符。该问题的代码不再代表当前的风格,但下面的一些答案使用了适用于 Rust 1.0 及更高版本的代码。
我当时正在玩Rust 示例网站 https://rustbyexample.com/flow_control/for.html并想反向打印出嘶嘶声。这是我尝试过的:
fn main() {
// `n` will take the values: 1, 2, ..., 100 in each iteration
for n in std::iter::range_step(100u, 0, -1) {
if n % 15 == 0 {
println!("fizzbuzz");
} else if n % 3 == 0 {
println!("fizz");
} else if n % 5 == 0 {
println!("buzz");
} else {
println!("{}", n);
}
}
}
没有编译错误,但没有打印出任何内容。如何从 100 迭代到 1?
前向循环是这样的:
for x in 0..100 {
println!("{}", x);
}
并通过调用完成反向循环Iterator::rev https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.rev颠倒顺序:
for x in (0..100).rev() {
println!("{}", x);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)