从简单的事情开始:
a =: 3 4 $ i.12
这将创建一个漂亮的 3 x 4 矩阵。
所以当我尝试
b=: a $ i.5
我得到一个很长的 b 输出。我不明白输出是什么(顺便说一下,i.5 是任意的)。我的意思是,当 $ 将 2+ 维数组作为左手参数时,我不明白 $ 的含义。 有人可以解释 b 描述的是什么吗?
最佳答案
事情是这样的: a变成矩阵
0 1 2 3
4 5 6 7
8 9 10 11
正如您刚才所描述的。
$ 的二元秩为 1 _,这意味着它将左参数行应用于整个右参数并将结果粘贴在一起。
a $ i.5
是 (0 1 2 3 $ i.5),(4 5 6 7 $ i.5),:(8 9 10 11 $ i.5)
所有的子数组都有不同的形状,因此它们被强制转换为最不常见的形状以适合它们,在本例中为 8 9 10 11
。因此,结果的形状为 3 8 9 10 11
关于arrays - 了解 J 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16108899/