1

使用新的主函数语法时:

@main def prog(nb: Int, stuff: String) = ...

与旧的:

def main(args: Array[String]) = ...

是否可以检查命令行上传递的参数数量?我们可以用旧语法对 args.length 进行测试。

我想生成一个自定义的语法错误,而不是“非法命令行:需要更多参数”。

4

1 回答 1

1

如此处所示,如果您想在命令行上允许可变数量的参数,则附加到的方法的最后一个参数@main应该是类型(或者,我想是任何其他可变参数类型)。String*

@main def prog(c:Char, n:Int, rest:String*) =
   println(s"$c:$n and ${rest.length} other args")
于 2021-02-05T03:41:06.140 回答