我正在尝试运行以下代码,但在 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
我运行不正确吗?
在顶层,你只能写定义(例如,val
、def
、class
、...),而不能写表达式(例如,1 + 1
,或一般的函数调用)。
因此,如果要在执行过程中执行println(uppers)
,可以编写程序的 main:
@main
def main(): Unit =
println(uppers)