为什么我不能执行scala文件?

use*_*363 14 scala

我是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


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)