rustHow to create a generator iterator in Rust?
Creating a generator iterator in Rust is a simple process. To create a generator iterator, you must first define a function that returns a yield expression. The yield expression will return a value each time the generator is called.
Example code
fn generator() -> impl Iterator<Item = i32> {
let mut i = 0;
loop {
yield i;
i += 1;
}
}
let mut gen = generator();
println!("{}", gen.next().unwrap());
Output example
0
Code explanation
fn generator() -> impl Iterator<Item = i32>: This line defines a function calledgeneratorthat returns an iterator of typei32.let mut i = 0: This line declares a mutable variableiand sets its initial value to0.loop {: This line starts an infinite loop.yield i: This line yields the value ofieach time the generator is called.i += 1: This line increments the value ofiby1each time the loop is executed.let mut gen = generator(): This line creates a mutable variablegenand assigns it the value returned by thegeneratorfunction.println!("{}", gen.next().unwrap()): This line prints the value returned by thenextmethod of thegenvariable.
Helpful links
Related
More of Rust
- How to use regex lookahead in Rust?
- How to match whitespace with a regex in Rust?
- How to replace a capture group using Rust regex?
- How to replace strings using Rust regex?
- How to split a string with Rust regex?
- How to replace all matches using Rust regex?
- How to use non-capturing groups in Rust regex?
- How to use negation in Rust regex?
- How to perform matrix operations in Rust?
- How to match a URL with a regex in Rust?
See more codes...