如何解决在 Scala 中,具有 main 方法的多个对象可以存在于单个文件中并单独运行这背后的原因是什么?
@main def main11 =
println("main11 printed something")
object Main10 extends App {
println("Main10 Executed !!".toupperCase())
main11
}
object Main2 {
def main(args: Array[String]): Unit = {
println("Main2 can run too !!".toupperCase())
Main10
}
}
它编译得很好,我可以在 IDE 中运行这些 main11
Main2
Main10
中的任何一个。
这是什么原因?
例如
main11
输出:
main11 printed something
Main2
输出:
MAIN2 CAN RUN TOO !!
MAIN10 EXECUTED !!
main11 printed something
通常在其他语言中,我会在 1 个文件中看到 1 个主类。
解决方法
Scala 有惯用的概念,需要在同一个文件中包含多个类/对象/特征,例如
- 伴随对象
- 代数数据类型
然而,一般来说,在同一个文件中定义任意多个类/对象/特征并不是最佳实践,除非它们紧密相关。您的对象碰巧每个都有一个 main
方法这一事实并不相关,因为它只是被视为常规方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。