3

我正在尝试阅读此链接后的命令行输入(http://www.jsoftware.com/help/user/hashbang.htm

0".>,.2}.ARGV

我可以理解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 的列表,而不是输入列表的一个元素。

4

1 回答 1

2

不同之处在于,如果没有,.,结果并不总是“编号”( ".) 项的列表,每个参数一个。Ravelling 保证0".将分别适用于每个参数。

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

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

> in
1234

所以

0". > ,. in
1 2 3 4

0". > in
1234

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

于 2013-01-05T21:16:57.777 回答