Input J的命令行输入

Input J的命令行输入,input,j,Input,J,我正在尝试读取以下链接()的命令行输入 我可以理解,2}.ARGV会删除“jconsole”和程序名部分 0”。将字符串转换为数字 为什么我们需要,。 这似乎在不必要的情况下给输入参数增加了一个额外的秩 'a b c d' =: 0".>,.2}.ARGV $a 1 为什么不 'a b c d' =: 0".> 2}.ARGV $a 另一个注意事项: 'a' =: 0".> 2}.ARGV $a 1 因此,如果只传入一个参数,'a'将成为一个排名为1的列表,而不是输入

我正在尝试读取以下链接()的命令行输入

我可以理解,2}.ARGV会删除“jconsole”和程序名部分

0”。将字符串转换为数字

为什么我们需要,。

这似乎在不必要的情况下给输入参数增加了一个额外的秩

'a b c d' =: 0".>,.2}.ARGV
 $a
 1
为什么不

'a b c d' =: 0".> 2}.ARGV
$a
另一个注意事项:

'a' =: 0".> 2}.ARGV
$a
1

因此,如果只传入一个参数,
'a'
将成为一个排名为1的列表,而不是输入列表中的一个元素。

区别在于,如果没有
,结果并不总是一个“number”ed(
)项的列表,每个参数一个。Raveling保证
0”。
将分别应用于每个参数

例如,如果ARGV是字符列表:

]in =: 2 }. ARGV
┌─┬─┬─┬─┐
│1│2│3│4│
└─┴─┴─┴─┘
> ,. in
1
2
3
4
但是

所以

但是


0.
分别应用于每个参数的其他方法包括
(0.>)“0 in
>0“&.>在
中。在这三种方法中,使用ravel的方法是最有效的。

就像要指出的那样,if]in=:11;2.3.4然后>in似乎能够用空格填充数字correctly@ZheHu,是的,在大多数情况下,这两者几乎相等。当缺少
,.
时,会产生错误结果的是特殊情况。
]in =: 2 }. ARGV
┌─┬─┬─┬─┐
│1│2│3│4│
└─┴─┴─┴─┘
> ,. in
1
2
3
4
> in
1234
0". > ,. in
1 2 3 4
0". > in
1234