Wie iteriere ich über einen Bereich mit einem nicht standardmäßigen Schritt in Rust?
Hallo Kollegen!
Ich habe vor kurzem angefangen, Rust zu lernen, und bin auf eine Aufgabe gestoßen, die einfach erscheint, aber ich finde einfach keine elegante Lösung. Ich muss über Zahlen von 0 bis 100 gehen, aber nicht nacheinander, sondern mit einem Schritt von 5. Also: 0, 5, 10, 15, ..., 100.
In Python würde ich so etwas wie `for i in range(0, 101, 5)` schreiben, und es funktioniert. In Rust kenne ich `for i in 0..=100`, aber das gibt alle Zahlen nacheinander. Ich habe versucht, `.step_by()` zu verwenden, aber der Compiler meckert, dass es diese Methode für Bereiche nicht gibt. Dann habe ich irgendein `Step`-Trait gegoogelt, aber es ist entweder instabil oder so etwas.
Hier ist, was ich versucht habe:
```rust
fn main() {
for i in 0..=100.step_by(5) {
println!("{}", i);
}
}
```
Der Compiler gibt einen Fehler aus: `no method named 'step_by' found for struct 'RangeInclusive'`. Ich verstehe, dass `RangeInclusive` keine Sammlung ist, sondern ein Iterator, aber wie mache ich dann einen Schritt?
Muss ich den Bereich irgendwie umwandeln? Oder eine eigene Funktion schreiben? Bitte sagt mir, wie
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs