【问题标题】:Calling main methods in other objects in Scala在 Scala 中调用其他对象的主要方法
【发布时间】:2019-11-07 09:53:10
【问题描述】:

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

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 在方法中独一无二吗?我可以直接给别人打电话吗?

【问题讨论】:

    标签: scala main


    【解决方案1】:

    你当然可以。就像任何其他方法一样,main 可以在对象之间调用。

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

    bar 中运行main 会得到以下输出:

    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"])
      }
    }
    

    bar 中运行main 会得到以下输出:

    Hello World
    

    它是否会导致清晰易读的代码是另一个问题:)

    【讨论】:

      猜你喜欢
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 2015-02-25
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      相关资源
      最近更新 更多