j – 如何从列表中生成以下盒装数据

在J中,我有一个像1 2 3的列表,我想取*:和2 *使它成为一个盒子结构

┌─┬─┐
│1│2│
│4│4│
│9│6│
└─┴─┘

甚至

┌───┐
│1 2│
├───┤
│4 4│
├───┤
│9 6│
└───┘

这该怎么做?我将衷心感谢您的帮助.

最佳答案 你需要
evoke a gerund附加模式(:0).

a =: 1 2 3
*:`+: (`:0) a
1 4 9
2 4 6

如果您需要盒装,只需; /他们:

;/*:`+: (`:0) a
┌─────┬─────┐
│1 4 9│2 4 6│
└─────┴─────┘
;/ |:  *:`+: (`:0) a      NB. different axis
┌───┬───┬───┐
│1 2│4 4│9 6│
└───┴───┴───┘
 _3 <\6 1 $,*:`+: (`:0) a   NB. yet another axis
┌─┬─┐
│1│2│
│4│4│
│9│6│
└─┴─┘
点赞