在 scala 中获取 println 的语法错误



我正在尝试运行以下代码,但在 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

我运行不正确吗?

在顶层,你只能写定义(例如,valdefclass、...),而不能写表达式(例如,1 + 1,或一般的函数调用)。

因此,如果要在执行过程中执行println(uppers),可以编写程序的 main:

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

最新更新