如何更改Rust中矢量的长度?

时间:2014-08-08 17:45:16

标签: vector rust

  

编者注:这个问题早于Rust 1.0,语法和方法从那时起就发生了变化。一些答案解释了Rust 1.0。

我有一个功能,我想修改一个矢量。

fn f(v: &mut Vec<int>) {
    v = Vec::from_elem(10 as uint, 0i);
}

fn main() {
    let mut v: Vec<int> = Vec::new();
    f(&mut v);
}

但这无法编译。具体来说,我想调整v的大小以包含10个零值元素。我做错了什么?

2 个答案:

答案 0 :(得分:3)

  

编者注:这个答案早于Rust 1.0,不再一定准确。其他答案仍然包含有价值的信息。

您正在寻找grow方法。

let mut vec = vec![1i,2,3];
vec.grow(4, &10);
println!("{}", vec);

growclear的组合。

您可以在此处浏览文档:http://static.rust-lang.org/doc/master/std/vec/struct.Vec.html

答案 1 :(得分:2)

使用clearresize方法。 (这似乎分别对于Rust 1.0和1.5是正确的答案。)

<tr cdk-row *cdkRowDef="let row; let i = dataIndex;; columns: ['width']"></tr>