scala 主要返回单元。如何设置程序的返回值

标签 scala

main is 的方法原型(prototype):

def main(args: Array[String]): Unit

通常,应用程序在退出时需要指定返回码。如果 main 返回 Unit,通常如何在 scala 中完成?我应该调用 System.exit(n) 吗?

此外,文档警告说我根本不应该使用 main,尽管这似乎与 getting started guide 不一致。 )。

这里的最佳做法是什么?

最佳答案

是的,您可以通过调用 java.lang.System.exit(n) 以不同于零的代码退出。或更好sys.exit(n) (这是 Scala 的等价物)。

如果混入App在您的主应用程序对象中,您没有定义方法 main但可以直接将其内容写入对象的主体。

例如。

object Test extends App {
  val a0 = args.headOption.getOrElse {
    Console.err.println("Need an argument")
    sys.exit(1)
  }
  println("Yo " + a0)
  // implicit: sys.exit(0)
}

关于scala 主要返回单元。如何设置程序的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20804006/

相关文章:

Scala (Play 2.4.x) 如何使用@inject() 注解调用类

scala - 为什么需要 return 语句来正确评估此 while 语句?

scala - 使用 asInstanceOf 将 Any 转换为 Double?

scala - 使用 var 进行惰性评估

scala - 在scala中,是否可以有一个只有两个元素的Set?

scala - 如何使用光滑的 tomcat jdbc 池?

scala - Shapeless 在通用上下文中不起作用

java - 安装 Scala 插件后 IntelliJ IDEA 按键不匹配

scala - RDD聚集在 Spark 中

postgresql - 使用 play-slick 时与 heroku postgres 的间歇性连接失败