使用新的主函数语法时:
@main def prog(nb: Int, stuff: String) = ...
与旧的:
def main(args: Array[String]) = ...
是否可以检查命令行上传递的参数数量?我们可以用旧语法对 args.length 进行测试。
我想生成一个自定义的语法错误,而不是“非法命令行:需要更多参数”。
如此处所示,如果您想在命令行上允许可变数量的参数,则附加到的方法的最后一个参数@main
应该是类型(或者,我想是任何其他可变参数类型)。String*
@main def prog(c:Char, n:Int, rest:String*) =
println(s"$c:$n and ${rest.length} other args")