今天早上我开始使用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中编译得很好。
有人可以了解一下发生了什么吗?
答案 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")
}
}