Rust ndarray - 如何设置元素的单个元素

问题描述 投票:0回答:1

如果我创建一个二维

ndarray::Array2
对象,如何单独设置数组(矩阵)的每个元素?

use ndarray::Array2;

// ...

// a 10 x 10 element matrix
let my_array = Array2::zeros((10, 10));

// how to set arbitrary elements of the matrix to an arbitrary value?

我尝试创建一个

Dim
对象,但不知道如何设置它的每个元素的值。

我打算将其与

get_mut
结合使用。

let index = ndarray::Dim::zeros(2); // 2 dimensional index

my_array.get_mut(&index) = 10.0; // compiler error

我不确定

ndarray
的类似数组的对象应该如何用于获取和设置元素。

rust multidimensional-array
1个回答
0
投票

Rust 中有两个与方括号元素访问相关的特征。

[]

这些是:

(直到现在我才知道这些,因为标准库组件还有其他访问内部数据的方法,例如通常称为

get
get_mut
的方法。

来自 C++ 背景的人会立即提出这样的问题:

  • 这些运算符(索引、
    []
    )是否执行边界检查?

答案是肯定的——这是 Rust 的固有要求。 (无需求助于

unsafe
Rust。)

© www.soinside.com 2019 - 2024. All rights reserved.