我正在尝试访问Rust中Nalgebra矩阵的各个元素,但请继续遇到错误。我还没有在文档中找到任何示例,这些示例也显示了如何访问单个元素 - 就像我在某些多维数组中一样。
这是我一直在尝试的:
use nalgebra::DMatrix; // 0.21.0
fn main() {
let b = DMatrix::<f64>::zeros(4, 4);
println!("{:?}", b[0][1]);
}
当我编译此代码时,我会得到
error[E0608]: cannot index into a value of type `f64`
--> src/main.rs:5:22
|
5 | println!("{:?}", b[0][1]);
| ^^^^^^^
我不确定如何解释此消息,或者我出了什么问题。
检查Matrix::index
的文档:
pub fn index<'a, I>(&'a self, index: I) -> I::Output
where
I: MatrixIndex<'a, N, R, C, S>,
如果我们查看MatrixIndex
的实现者,我们会看到许多类型,包括usize
((usize, usize)
)的A Tuple :
println!("{:?}", b[(0, 1)]);
《生锈的编程语言》 有关数据类型的章节进一步解释了元组。