我是Scala的新手,这是我第一次运行Scala,当我安装Scala时,我创建了一个名为的文件Hello.scala,内容是:
println("HelloWorld!")
Run Code Online (Sandbox Code Playgroud)
当我输入时scala,没有问题,显示了scala REPL,但是当我输入时scala Hello.scala,它提示:
<console>:1: error: ';' expected but '.' is found.
Run Code Online (Sandbox Code Playgroud)
我不知道是什么问题,我希望有人可以帮助我.
Min*_*gyu 19
添加-nc标志节省了我的一天.
scala -nc Hello.scala
什么是-nc?
-nc no compilation daemon: do not use the fsc offline compiler
资料来源:http://alvinalexander.com/java/jwarehouse/scala-2.11/compiler/scala/tools/nsc/GenericRunnerCommand.scala.shtml
什么是fsc offline compiler?
fsc – Fast offline compiler for the Scala 2 language
资料来源:http://www.scala-lang.org/old/sites/default/files/linuxsoft_archives/docu/files/tools/fsc.html
om-*_*nom 15
要在REPL中使用:load <filepath>命令而不是执行外部脚本(从中加载所有定义)scala <filepath>.
» echo 'println("HelloWorld")' > Hello.scala
» scala
Welcome to Scala version 2.9.2 (OpenJDK Client VM, Java 1.6.0_24).
Type in expressions to have them evaluated.
Type :help for more information.
// is this what you tried to do?
scala> scala Hello.scala
<console>:1: error: ';' expected but '.' found.
scala Hello.scala
// do this instead
scala> :load Hello.scala
Loading Hello.scala...
HelloWorld
scala>
Run Code Online (Sandbox Code Playgroud)
dhg*_*dhg 10
您的文件Hello.scala是一个脚本.您应该能够从命令提示符运行它scala Hello.scala.
$ scala Hello.scala
HelloWorld!
Run Code Online (Sandbox Code Playgroud)
另一方面,REPL不用于运行脚本.它用于直接运行scala代码:
scala> println("HelloWorld!")
"HelloWorld!"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28049 次 |
| 最近记录: |