Como iterar sobre um intervalo com passo não padrão em Rust?
Olá, colegas!
Comecei a estudar Rust recentemente e me deparei com uma tarefa que parece simples, mas não consigo encontrar uma solução elegante. Preciso percorrer os números de 0 a 100, mas não sequencialmente, e sim com passo 5. Ou seja: 0, 5, 10, 15, ..., 100.
Em Python, eu escreveria algo como `for i in range(0, 101, 5)`, e funciona. Em Rust, conheço `for i in 0..=100`, mas isso dá todos os números sequencialmente. Tentei usar `.step_by()`, mas o compilador reclama que esse método não existe para ranges. Depois pesquisei sobre um trait `Step`, mas ele é instável ou algo assim.
Aqui está o que tentei fazer:
```rust
fn main() {
for i in 0..=100.step_by(5) {
println!("{}", i);
}
}
```
O compilador dá erro: `no method named 'step_by' found for struct 'RangeInclusive'`. Entendo que `RangeInclusive` não é uma coleção, mas um iterador, então como fazer o passo?
Talvez seja necessário transformar o range? Ou escrever minha própria função? Por favor, me digam qual
No answers yet.
Faça login para deixar uma resposta