从简单的事情开始:
a =: 3 4 $ i.12
这会创建一个漂亮的3 x 4矩阵。
所以当我尝试
时b=: a $ i.5
我得到了很长的b输出。我不明白输出是什么(顺便说一句,i.5是任意的)。我的意思是,当没有2维数组作为左手参数时,我不明白$的意思。 有人可以解释一下b在描述什么吗?
答案 0 :(得分:4)
以下是发生的事情: 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