rustiterator

How do I iterate over a range with a custom step?


How can I iterate over a range in Rust with a step other than 1? I'm coming from a C++ background so I'd like to do something like

for(auto i = 0; i <= n; i+=2) {
    //...
}

In Rust I need to use the range function, and it doesn't seem like there is a third argument available for having a custom step. How can I accomplish this?


Solution

  • range_step_inclusive and range_step are long gone.

    As of Rust 1.28, Iterator::step_by is stable:

    fn main() {
        for x in (1..10).step_by(2) {
            println!("{}", x);
        }
    }