You may want to re-read The Rust Programming Language, specifically the sections on:
- mutability
- mutable references
- vectors
We can also iterate over mutable references to each element in a mutable vector in order to make changes to all the elements. The
for
loop in Listing 8-9 will add50
to each element.let mut v = vec![100, 32, 57]; for i in &mut v { *i += 50; }
Listing 8-9: Iterating over mutable references to elements in a vector
To change the value that the mutable reference refers to, we have to use the dereference operator (
*
) to get to the value ini
before we can use the+=
operator.
In addition, you can call the iter_mut
method:
let mut v = vec![100, 32, 57];
for i in v.iter_mut() {
*i += 50;
}
See also:
- What’s the difference between placing “mut” before a variable name and after the “:”?
- What is the difference between iter and into_iter?
Note that your variable is not a vector. It is an array.