我想多次迭代一个向量:
let my_vector = vec![1, 2, 3, 4, 5];
let mut out_vector = vec![];
for i in my_vector {
for j in my_vector {
out_vector.push(i * j + i + j);
}
}
Run Code Online (Sandbox Code Playgroud)
j 循环存在“移动后此处使用的值”错误。我知道我可以&在两个my_vectors 之前放置一个并借用向量,但是有不止一种方法来做事情是很好的。我也想要一点见解。
或者,我可以写以下内容:
let i_vec = vec![1, 2, 3, 4, 5, 6];
let iterator = i_vec.iter();
let mut out_vec = vec![];
for i in iterator.clone() {
for j in iterator.clone() {
out_vec.push(i * j + i + j);
}
}
Run Code Online (Sandbox Code Playgroud)
我查看了在 …