为什么"你好,世界"没有输出到控制台?

Fre*_*ind 18 scala

我只是在学习scala,我写了这样的"hello,world"程序:

object HelloWorld {
    def main(args: Array[String]) { 
        println("Hello, world!") 
    } 
}
Run Code Online (Sandbox Code Playgroud)

我将它保存到名为"helloworld.scala"的文件中

现在我在控制台中运行它:

scala helloworld.scala
Run Code Online (Sandbox Code Playgroud)

但没有任何结果.我以为它会输出"Hello,world".为什么?

PS

如果我将内容修改为:

println("Hello, world")
Run Code Online (Sandbox Code Playgroud)

并再次运行,它将输出"你好,世界".

mic*_*ebe 12

你有两个选择.

编译并运行:

与在Java中一样,您应该使用main-method作为应用程序的起点.这需要编译scalac.之后,可以启动已编译的类文件scala ClassName

scalac helloworld.scala
scala HelloWorld
Run Code Online (Sandbox Code Playgroud)

脚本:

如果只有一个小脚本,则可以直接将代码写入文件并使用该scala命令运行它.然后该文件的内容将以main-method 自动包装.

// hello.scala, only containing this:
println("Hello, world!")
Run Code Online (Sandbox Code Playgroud)

然后运行它:

scala hello.scala
Run Code Online (Sandbox Code Playgroud)

无论如何,我会建议编译和运行.有一些东西,在"Scalascript"中是不可能的,我现在不记得了.

  • 运行已编译的Scala程序时,有时必须添加"-cp".包括当前目录,以便找到.class文件:scala -cp.你好,世界 (2认同)

Nik*_*ohl 12

如果你想把你的代码作为脚本运行(通过使用scala helloworld.scala),你必须通过添加行来告诉scala你的主要方法在哪里

  HelloWorld.main(args)
Run Code Online (Sandbox Code Playgroud)

你的代码

您拥有的第二个选项是使用编译脚本scalac helloworld.scala ,然后使用调用类的编译版本scala HelloWorld