J编程语言中的数组

时间:2012-05-21 22:31:20

标签: c++ j

如何使用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中,这些类型的数组访问会是什么样的?

1 个答案:

答案 0 :(得分:7)

在J中写这个的文字(但仍然相当惯用)方式如下。

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

通过初始化,现在我们已经准备好了答案,其中包含the } adverb ("Item Amend" and "Amend")的两种不同用法。

m =: y j } m

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

}

只在y =: j } m 的左侧放置一个参数会导致J摘录}的{​​{1}}元素并将其返回。在这种情况下,我们将y设置为结果。