Примечание редактора: этот вопрос задавали до того, как был выпущен Rust 1.0, и был введен оператор
..
"range". Код вопроса больше не отражает текущий стиль, но в некоторых ответах ниже используется код, который будет работать в Rust 1.0 и далее.
Я играл на странице Rust by Example и хотел распечатать fizzbuzz в обратном порядке. Вот что я пробовал:
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?