使用Eclipse中的Scala,输出以错误的顺序出现

时间:2014-12-03 16:26:50

标签: eclipse scala

今天早上我开始使用Scala,并写了以下内容:

package tutorial
object Main {

    class Tutorial(message: String = "") {
        var a = message

        def speak() =
            println(a)
    }

    def main(args:Array[String]) =
        println("Hello world")

        val t = new Tutorial("BARK!")
        t.speak()

        println("World hello")
}

我希望输出为:

Hello world
BARK!
World hello

但出于某种原因,它输出了:

BARK!
World hello
Hello world

这对我有意义。我查了一下" Scala缓存问题",但它没有列出任何相关内容,所以这似乎不是问题所在。 这是输出到Scala Eclipse的控制台。我尝试使用REPL,但它在第一行(package tutorial)上给出了一个错误,即使它在Eclipse中编译得很好。

有人可以了解一下发生了什么吗?

1 个答案:

答案 0 :(得分:1)

正如Travis Brown建议的那样,你错过了主要功能中的{}

所以你的代码看起来应该是:

package tutorial
object Main {

    class Tutorial(message: String = "") {
        var a = message

        def speak() =
            println(a)
    }

    def main(args:Array[String]) = {
        println("Hello world")

        val t = new Tutorial("BARK!")
        t.speak()

        println("World hello")
    }

}