在Scala中的其他对象中调用主要方法

时间:2019-06-25 14:13:27

标签: scala main

是否可以从一个对象的另一个方法中调用一个对象中的main方法?我有以下课程,想知道如何在一个程序运行中调用两个单独的主要方法:

object MongoUpload {
  def main(args: Array[String]): Unit = {
    .. upload to Mongo ..
    // Want to upload to Oracle here
  }
}

object OracleUpload {
  def main(args: Array[String]): Unit = {
    .. upload to Oracle
  }
}

在方法中,main有什么独特之处吗?我可以打个电话吗?

1 个答案:

答案 0 :(得分:3)

您肯定可以。就像其他任何方法一样,可以在对象之间调用main。


object foo {
  def main(args: Array[String]): Unit = {
    println("qux")
  }
}

object bar {
  def main(args: Array[String]): Unit = {
    println("baz")
    foo.main(null)
  }
}

main中运行bar会给出以下输出:

baz
qux

同样可以使用参数将其复制到主要方法,如以下示例所示:

object foo {
  def main(args: Array[String]): Unit = {
    println(args(0) + " " + args(1))
  }
}

object bar {
  def main(args: Array[String]): Unit = {
    ... some processing ...
    foo.main(Array["Hello", "World"])
  }
}

main中运行bar会给出以下输出:

Hello World

是否导致代码清晰可读是另一个问题:)