November 2017
Intermediate to advanced
264 pages
5h 45m
English
An iterator is an object that returns the items of a collection in sequence, from the first to the last. To return the following item, it uses a next() method. Here, we have an opportunity to use an Option. Because an iterator can have no more values at the last next() call, next() always returns an Option, Some(value) when there is a value and None when there are no more values to return.
The simplest object that has this behavior is a range of numbers 0..n (remember n is excluded). Every time we used a for loop like for i in 0..n the underlying iterator mechanism was put to work. Let's see an example:
// see code in Chapter 5/code/iterators.rs let mut rng = 0..7; println!("> {:?}", rng.next()); // println!("> {:?}", rng.next()); ...Read now
Unlock full access