【发布时间】:2017-02-05 15:29:17
【问题描述】:
我想在 Rust 中创建一个多维矩阵(其乘积超过 1e6)。我找到了ndarray crate,但是documentation 没有说明如何使用似乎符合我需要的ArrayD 类型。
【问题讨论】:
标签: multidimensional-array rust
我想在 Rust 中创建一个多维矩阵(其乘积超过 1e6)。我找到了ndarray crate,但是documentation 没有说明如何使用似乎符合我需要的ArrayD 类型。
【问题讨论】:
标签: multidimensional-array rust
您可以将包含 N 个值和数组形状的 &[usize](或 Vec<usize>)传递给任何接受数组形状的构造函数,例如 Array::zeros。例如,下面的代码创建了一个Array,形状为4 * 7 * 6 * 5 * 2 * 10 * 9 * 3 * 8,有9个维度:
//! ```cargo
//! [dependencies]
//! ndarray = "*"
//! ```
extern crate ndarray;
use ndarray::ArrayD;
fn main() {
let mut array = ArrayD::zeros([4, 7, 6, 5, 2, 10, 9, 3, 8].as_ref());
array[[1; 9].as_ref()] = 123;
println!("{:?}", array[[0; 9].as_ref()]);
println!("{:?}", array[[1; 9].as_ref()]);
}
输出:
0
123
【讨论】: