如何使用 Rust 替换向量的一部分?

Mad*_*oop 0 vector rust

用新向量替换向量特定部分的最佳方法是什么?

截至目前,我正在使用硬编码代码来替换向量。实现这一目标最有效的方法是什么?

fn main() {
    let mut v = vec![1, 2, 3, 4, 5, 6, 7, 8, 9];
    
    let u = vec![0,0,0,0];

    v[2] = u[0];
    v[3] = u[1];
    v[4] = u[2];
    v[5] = u[3];
    

    println!("v = {:?}", v);
}

Run Code Online (Sandbox Code Playgroud)

游乐场的永久链接

是否有任何函数可以用给定的索引替换向量?

Cha*_*man 5

对于Copy类型:

v[2..][..u.len()].copy_from_slice(&u);
Run Code Online (Sandbox Code Playgroud)

游乐场

对于非Copy类型:

v.splice(2..2 + u.len(), u);
Run Code Online (Sandbox Code Playgroud)

游乐场