c++ - J编程语言中的数组

标签 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 中,这些类型的数组访问会是什么样子?

最佳答案

用 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/

相关文章:

c++ - 为什么我的 C++ 程序中会出现死循环?

j - 是 J 关联的火车

j - 参数用法 : ti=. {.(*i.)}

c++ - 为什么在 C++ 中会发生这种情况?

c++ - Windows 上的串行 (COM) 端口重新连接

c++ - 如何将 HRESULT 转换为错误描述?

j - 将副词应用于动名词列表

c++ - 删除指向的对象

j - J 中 sum(1/(1+x)^y) 的默认形式是什么

j - APL vs A vs J vs K?