6
在Rust中,我該如何避免編寫這些循環?該代碼需要一個向量並將三個相鄰元素乘以一個產品。因此,外部循環遍歷所有可以形成一組三個的元素,內部循環完成乘法。如何在遍歷向量的相鄰元素時避免循環
我認爲,難點在於外循環的不完整迭代(從元素0
到last - 3
)。此外,內部循環必須使用子範圍。
有沒有辦法避免編寫循環?
let v = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9];
let mut products = Vec::new();
for seq in 0..v.len() - 3 {
let mut product = 1;
for offset in 0..3 {
product *= v[seq + offset];
}
products.push(product);
}
,所有的計算'product's被丟棄,虛無的,而不是在矢量寫下所有數字手動你可以寫這篇文章,而不是發生。你想把所有這些產品收集到一個載體中,或者你想用它們做什麼? –
你說得對。在將我的原始代碼剪切到上面的示例中時,它已經丟失了。我做了一個編輯。 – dani