强制数组而不是J中的矩阵表示“i”。

时间:2011-05-17 15:09:33

标签: j

i.原语生成一个整数列表:

   i. 10
0 1 2 3 4 5 6 7 8 9

如果我想连续生成几个短列表,我会这样做:

   ;i."0 each [ 2 3 4
0 1 0 1 2 0 1 2 3

(我想要的结果)

拳击(each)在这里是一个拐杖,因为没有它,i."0会产生一个矩阵。

   i."0 [ 2 3 4
0 1 0 0
0 1 2 0
0 1 2 3

(我不想要的结果)

有没有更好的方法可以将i."0格式化输出到矩阵,而不是数组?

1 个答案:

答案 0 :(得分:1)

不,我相信你不能比现有的解决方案做得更好。 i."0无法返回向量。

"0副词强制i.接受标量,i.返回向量。 i.无法知道您的输入是向量而不是标量。根据{{​​3}},结果形状是参数框架和结果的串联。

到目前为止我发现的最短的“无框”解决方案是

(*@$"0~#&,i."0) 2 3 4

仍然比仅使用;i. each 2 3 4

更长