Jam*_*hon 9 scripting scala println
当我使用scala App trait时,我无法使println工作.
这个简单的例子按预期打印,
object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
Run Code Online (Sandbox Code Playgroud)
但是,一旦我介绍了它没有的特性,
object HelloWorld extends App {
println("Hello, world!")
}
Run Code Online (Sandbox Code Playgroud)
我没有错误,但没有任何打印到控制台.
Kel*_*nis 10
你先编译它(运行scalac HelloWorld.scala)吗?见评论:http://www.scala-lang.org/node/9483#comment-40627
编辑添加更多解释:第一个版本实际编译.没有显式main方法的Scala文件作为脚本运行未编译.这意味着对于您的第二个版本,文件中的命令是按顺序运行的,就好像它们已经输入到解释器中一样 - 因此,创建了对象HelloWorld,但没有调用任何方法.这里有关于Scala作为脚本语言的更多信息(滚动到第5步):http://www.artima.com/scalazine/articles/steps.html
添加一行
object HelloWorld extends App {
/* code */
}
HelloWorld.main(args)
Run Code Online (Sandbox Code Playgroud)
在你的文件的末尾.
Class定义了方法,但也需要调用它.
归档时间: |
|
查看次数: |
2852 次 |
最近记录: |