在J:
a =: 2 3 $ 1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)
得到:
1 2 3
4 5 6
Run Code Online (Sandbox Code Playgroud)
这是一个2 3
异形阵列.
如果我做:
0 1 { a
Run Code Online (Sandbox Code Playgroud)
我(注意到这0 1
是一个2
形状列表)预计会回来:
1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)
但得到以下代码:
1 2 3
4 5 6
Run Code Online (Sandbox Code Playgroud)
阅读文档我期待索引的形状有点控制答案的形状.
有人可以澄清我在这里缺少的东西吗?
高维数组可能有助于清楚这一点.以与阵列n
尺寸具有项与n-1
尺寸.当您从()三维数组中选择一个项目时{
,您的结果是一个二维数组:
1 { i. 5 3 4
12 13 14 15
16 17 18 19
20 21 22 23
Run Code Online (Sandbox Code Playgroud)
当选择多个项目从一个数组,该项目被组装成一个新的数组,使用每个原子的x
选择项目的y
.这可能是您认为形状x
影响结果形状的想法.
2 1 0 2 { 'set'
test
$ 2 1 0 2
4
$ 'test'
4
Run Code Online (Sandbox Code Playgroud)
结果的尺寸相等的尺寸x
加上尺寸的物品的y
.因此,如果您从二维中x
获取二维项目y
,您将得到一个四维结果:
(2 2 $ 1 1 0 1) { i. 5 3 4
12 13 14 15
16 17 18 19
20 21 22 23
12 13 14 15
16 17 18 19
20 21 22 23
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
16 17 18 19
20 21 22 23
$ (2 2 $ 1 1 0 1) { i. 5 3 4
2 2 3 4
Run Code Online (Sandbox Code Playgroud)
最后一点注意:monadic Ravel(,
)会将结果减少到一个列表(一维数组).
, 0 1 { 2 3 $ 1 2 3 4 5 6
1 2 3 4 5 6
, i. 2 2 2 2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Run Code Online (Sandbox Code Playgroud)