在Scala中获取println的语法错误

ngynwnxp  于 2022-11-09  发布在  Scala
关注(0)|答案(1)|浏览(229)

我尝试运行以下代码,但在Scala 3.0.0上遇到错误:

// saved as file Upper1.scala

class Upper1:
  def convert(strings: Seq[String]): Seq[String] =
    strings.map((s: String) => s.toUpperCase)

val up = new Upper1()
val uppers = up.convert(List("Hello", "World!"))
println(uppers)
% scala Upper1.scala
-- [E080] Syntax Error: /Users/Deb/Desktop/Temp/Upper1.scala:7:0 ------------
7 |println(uppers)
  |^^^^^^^
  |Expected a toplevel definition
1 error found
Error: Errors encountered during compilation

我是不是运行错误了?

u3r8eeie

u3r8eeie1#

在顶层,您只能写定义(例如,valdefclass等)而不是表达式(例如,1 + 1或一般的函数调用)。
因此,如果您想在执行期间执行println(uppers),您可以编写程序的Main:

@main
def main(): Unit =
  println(uppers)

相关问题