如何使用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中,这些类型的数组访问会是什么样的?
答案 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设置为结果。