可以在Scala中编写脚本.所以你可以把它放到Hello.scala中
#!/bin/sh
exec scala $0 $@
!#
println("You supplied " + args.length + " arguments!")
并使其在Unix中可执行
chmod u+x Hello.scala
然后你可以简单地运行脚本
./Hello.scala
如果没有语法错误,这将编译脚本并运行它.但是,当我只想在不执行脚本的情况下进行语法检查时,这并不能解释这种情况.我不想修改脚本(即删除#!指令),我不希望生成任何*.class文件.
如何检查Scala脚本?
Mil*_*bin 24
我希望你真的想要的不只是检查正确的语法...大概你想要知道的是,如果你真的编译它,你的文件将正确编译.这涉及类型检查以及语法检查.
对于Scala源文件(即非脚本),您可以指定-Ystop:refchecks命令行参数,以使编译器在开始代码生成之前停止(如果您真的只对语法正确性感兴趣,可以指定-Ystop:parser) .如果有错误,它们将在控制台上显示,就像完全编译源代码一样.
对于Scala脚本,您还可以指定-Ystop:refchecks参数.如果这样做,那么您将看到控制台上报告的编译错误,或者如果脚本中没有错误,您将看到以下内容,
$ scala -Ystop:refchecks Hello.scala 
java.lang.ClassNotFoundException: Main
ClassNotFoundException,指示尚未生成任何类文件,并且您的脚本尚未执行.
| 归档时间: | 
 | 
| 查看次数: | 1586 次 | 
| 最近记录: |