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 calledgenerator
that returns an iterator of typei32
.let mut i = 0
: This line declares a mutable variablei
and sets its initial value to0
.loop {
: This line starts an infinite loop.yield i
: This line yields the value ofi
each time the generator is called.i += 1
: This line increments the value ofi
by1
each time the loop is executed.let mut gen = generator()
: This line creates a mutable variablegen
and assigns it the value returned by thegenerator
function.println!("{}", gen.next().unwrap())
: This line prints the value returned by thenext
method of thegen
variable.
Helpful links
Related
More of Rust
- Hashshet example in Rust
- How to convert Rust bytes to hex?
- How to convert a Rust HashMap to a JSON string?
- How to convert a Rust HashMap to JSON?
- How to get the last element of a Rust slice?
- How to use non-capturing groups in Rust regex?
- How to use groups in a Rust regex?
- How to match the end of a line in a Rust regex?
- How to escape dots with regex in Rust?
- How to use regex to match a group in Rust?
See more codes...