如何以解释模式运行Scala 3脚本?升级后遇语法错误求解
Scala 3脚本运行问题的解决方法
1. 澄清-explain参数的用途
-explain不是用来以解释模式运行脚本的,它是让编译器详细说明类型错误原因的参数,仅在编译阶段生效。你碰到的「Illegal start of toplevel definition」错误,就是因为错误地将该参数用于脚本执行场景导致的。
2. Scala 3运行脚本的正确方式
对于你写的simple.scala这种只有顶级语句的脚本文件,直接执行以下命令即可:
scala simple.scala
Scala 3会自动把这些顶级语句包装成可执行程序,无需手动添加main函数,这一点和Scala 2的脚本运行逻辑一致。
3. 关于Scala 2.11的旧问题补充
你之前在Scala 2.11遇到的javax.tools.DiagnosticListener未找到错误,是因为Scala 2.11版本过旧,和OpenJDK 16兼容性差——Java高版本中移除了该类的相关依赖。你升级到Scala 3已经解决了这个类加载问题,无需再纠结。
4. 进入交互式解释器的方法
如果要进入你说的“解释模式”(交互式环境)逐行执行代码,直接运行:
scala
进入后输入println("a simple program")就能直接得到输出。
内容的提问来源于stack exchange,提问作者Kera
相关产品推荐
相关产品推荐

