Scala - 分号不一致

arn*_*rnm 1 syntax scala

我有这个非常简单的代码(scala-2.10):

import scala.io.Source

object Test2 {
    def main(args: Array[String]): Unit = {
        for(line <- Source.fromFile("/Users/alexei/words.txt", "utf-8").getLines()) {
            println(line)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编译时我收到此错误消息:

Test2.scala:3: error: ';' expected but 'object' found.
object Test2 {
^
one error found
Run Code Online (Sandbox Code Playgroud)

我非常困惑何时使用分号。我有其他与此类似的代码,并且在没有任何分号的情况下编译没有任何问题。

有人可以解释这个特定的错误并详细说明需要分号的所有情况吗?

dhg*_*dhg 5

该代码对我来说效果很好。

唯一需要分号的时候是在同一行上写多个语句。否则,换行符表示分离。因此,您当前的代码中不需要任何分号,但是如果您想这样做:

println(line); println(line)
Run Code Online (Sandbox Code Playgroud)

而不是仅仅

println(line)
println(line)
Run Code Online (Sandbox Code Playgroud)