用于创建数字矩阵的最简洁的J语法

Gre*_*ley 3 j

想像一下,我想利用从1号到3,并形成矩阵,使得每个可能的配对来表示,例如,

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

这是我用J制定的一元动词来做到这一点:

($~ (-:@# , 2:)) , ,"0/~ 1+i.y

最初我曾认为,"0/~ 1+i.y这就足够了,但遗憾的是产生了以下输出:

1 1
1 2
1 3

2 1
2 2
2 3

3 1
3 2
3 3

换句话说,它的形状是3 3 2,我想要一些形状为9的东西.我能想到解决它的唯一方法是将所有数据倒入一个新的形状.我确信必须有一种更简洁的方法来做到这一点.谁知道?

kal*_*dic 5

重塑您的中间结果可以简化.删除最顶层的轴通常是,/这样的,在您的情况下,完成的短语可能是,/ ,"0/~ 1+i.y