如何在 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
完成初始化后,现在我们准备好了答案的核心,它由 the }
adverb ("Item Amend" and "Amend") 的两种不同用法组成。 .
m =: y j } m
将两个参数放在 的左侧会导致 J 将右侧参数
m
的第 j
个元素替换为值是
。注意:我们必须将结果分配回 m
,因为 y j } m
的结果只是计算一个新数组,该数组合并了您使用 请求的更改code>}
动词。
y =: j } m
在 左边只放一个参数会导致 J 摘录
m
的第 j
个元素并返回它。在这种情况下,我们将 y 设置为结果。
关于c++ - J编程语言中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10693521/