Loops/Foreach: Difference between revisions

Content added Content deleted
Line 1,646: Line 1,646:
=={{header|Rust}}==
=={{header|Rust}}==
Rust's for-loop already is a foreach-loop.
Rust's for-loop already is a foreach-loop.
<lang Rust>let collection = vec![1,2,3,4,5];
<lang rust>let collection = vec![1,2,3,4,5];
for elem in collection {
for elem in collection {
println!("{}", elem);
println!("{}", elem);
Line 1,652: Line 1,652:


Do note that Rust moves values by default and doesn't copy them. A vector would be unusable after looping over it like above. To preserve it, borrow it or use an Iter, to mutate values do a mutable borrow or create an IterMut. To get an immutable reference omit the mut-part.
Do note that Rust moves values by default and doesn't copy them. A vector would be unusable after looping over it like above. To preserve it, borrow it or use an Iter, to mutate values do a mutable borrow or create an IterMut. To get an immutable reference omit the mut-part.
<lang Rust>let mut collection = vec![1,2,3,4,5];
<lang rust>let mut collection = vec![1,2,3,4,5];
for mut_ref in &mut collection {
for mut_ref in &mut collection {
// alternatively:
// alternatively: