使用锈我怎样才能将2d数组转换为2d向量?

cam*_*car 1 arrays vector rust

给出一个2d数组,如

let S = [
        [0,0,1,0,0],
        [0,0,1,0,0],
        [0,0,1,0,0],
        [0,0,1,0,0]];
Run Code Online (Sandbox Code Playgroud)

如何将其转换为2d矢量?

Vec<Vec<i32>>
Run Code Online (Sandbox Code Playgroud)

Jay*_*Jay 6

二维数组是arrayarrayS,所以创造你需要创建二维矢量VecVec秒.一种方法是迭代数组并使用to_vec()方法转换每个项目,然后转换collect()Vec.

let s: Vec<_> = s.iter().map(|&e| e.to_vec()).collect();
Run Code Online (Sandbox Code Playgroud)

  • 你只需要说它是一个向量.无需编写完整类型:`let s:Vec <_>`. (4认同)