将序号列添加到 J 中自定义动词的输出
Add ordinal number column to output of custom verb in J
如果我输入 !i.10
,它会给出前 10 个数字的阶乘。
但是,如果我尝试添加一列序数 >/.!i.10, 1+i.10
,则 J 会冻结或出现“内存不足”错误。如何创建自定义表格?
我认为正在发生的事情是你正在创造比你预期的更大的东西。逐步实施:
1+ i. 10 NB. list of 1 to 10
1 2 3 4 5 6 7 8 9 10
10 , 1+ i. 10 NB. 10 prepended
10 1 2 3 4 5 6 7 8 9 10
i. 10 , 1+ i. 10 NB. creates an 11 dimension array with shape 10 1 2 3 4 5 6 7 8 9 10 and largest value of 36287999
当您将 !
应用于 i. 10 , 1+ i. 10
时,您会得到一些非常大的数字。我不确定您要对前导 >/.
做什么
这是你的想法吗?
(!1 + i.10),. (1+i.10) NB. using parenthesis to isolate operations
1 1
2 2
6 3
24 4
120 5
720 6
5040 7
40320 8
362880 9
3.6288e6 10
要提供扩展类型并摆脱 3.6288e6
我们可以使用 x:
(x:!1 + i.10),. (1+i.10)
1 1
2 2
6 3
24 4
120 5
720 6
5040 7
40320 8
362880 9
3628800 10
或默认
(x:@! ,. ]) @ (1+i.) 10
1 1
2 2
6 3
24 4
120 5
720 6
5040 7
40320 8
362880 9
3628800 10
或者我觉得好一点的版本
([: (,.~ !) 1x + i.) 10
1 1
2 2
6 3
24 4
120 5
720 6
5040 7
40320 8
362880 9
3628800 10
如果我输入 !i.10
,它会给出前 10 个数字的阶乘。
但是,如果我尝试添加一列序数 >/.!i.10, 1+i.10
,则 J 会冻结或出现“内存不足”错误。如何创建自定义表格?
我认为正在发生的事情是你正在创造比你预期的更大的东西。逐步实施:
1+ i. 10 NB. list of 1 to 10
1 2 3 4 5 6 7 8 9 10
10 , 1+ i. 10 NB. 10 prepended
10 1 2 3 4 5 6 7 8 9 10
i. 10 , 1+ i. 10 NB. creates an 11 dimension array with shape 10 1 2 3 4 5 6 7 8 9 10 and largest value of 36287999
当您将 !
应用于 i. 10 , 1+ i. 10
时,您会得到一些非常大的数字。我不确定您要对前导 >/.
这是你的想法吗?
(!1 + i.10),. (1+i.10) NB. using parenthesis to isolate operations
1 1
2 2
6 3
24 4
120 5
720 6
5040 7
40320 8
362880 9
3.6288e6 10
要提供扩展类型并摆脱 3.6288e6
我们可以使用 x:
(x:!1 + i.10),. (1+i.10)
1 1
2 2
6 3
24 4
120 5
720 6
5040 7
40320 8
362880 9
3628800 10
或默认
(x:@! ,. ]) @ (1+i.) 10
1 1
2 2
6 3
24 4
120 5
720 6
5040 7
40320 8
362880 9
3628800 10
或者我觉得好一点的版本
([: (,.~ !) 1x + i.) 10
1 1
2 2
6 3
24 4
120 5
720 6
5040 7
40320 8
362880 9
3628800 10