J 编程语言中的数组

Arrays in J programming Language

本文关键字:数组 编程语言      更新时间:2023-10-16

如何在 J 编程语言中进行数组访问?例如,使用 C++ 作为我的伪代码语言:

int M [100];  // declare an array called M
int j = 5;  //index into the array
int y = 10;  //value to store or load from the array
M[j] = y;  // store y into the array
y = M[j];  // load y from the array

这些类型的数组访问在惯用语 J 中会是什么样子?

用 J 写这个的字面(但仍然很惯用(的方式如下。

m =: 100 $ 0   NB. This means create a 1d array consisting of 100 zeros.
j =: 5
y =: 10

有了初始化,现在我们已经准备好了答案的实质,它由}副词的两种不同用法("项目修正"和"修正"(组成。

m =: y j } m

将两个参数放在}的左侧会导致 J 将右侧参数m的第j个元素替换为值 y 。注意:我们必须将结果重新分配给m,因为y j } m的结果只是计算一个新数组,该数组包含您使用}动词请求的更改。

y =: j } m

只将一个参数放在}的左侧会导致 J 摘录m的第j个元素并将其返回。在本例中,我们将 y 设置为结果。