【问题标题】:run object scala in databricks在数据块中运行对象 scala
【发布时间】:2018-11-03 07:20:41
【问题描述】:

我正在尝试在 scala 中的数据块上执行示例代码。它是一个对象。

object Main {
  def main(args: Array[String]) {
    val res = for (a <- args) yield a.toUpperCase
    println("Arguments: " + res.toString)
  }
}

当我在数据块上运行时;它说'对象定义的主要'。我不确定现在如何执行它或执行它的代码是什么。请帮忙。

【问题讨论】:

    标签: scala databricks


    【解决方案1】:

    您正在使用的是一种 scala REPL。基本上“主要”功能在那里没有任何意义。话虽如此,您可以按如下方式运行您的功能

    object Main {
      def main(args: Array[String]) {
        val res = for (a <- args) yield a.toUpperCase
        println(res)
        println("Arguments: " + res.toString)
      }
    }
    
    Main.main(Array("123","23123"))
    

    你可以调用 Object Main 的 main 方法。

    【讨论】:

    • 从不同的笔记本运行怎么样?使用 Comm 版?
    【解决方案2】:

    可以在Main对象中调用main方法如下:

    val args: Array[String] = Array("test1", "test2", "test3")
    Main.main(args)
    

    您在 main 方法中拥有的内容不会打印出您期望的内容,我假设这是 res 数组中包含的值。为此,您需要将其更改为以下内容:

    object Main {
      def main(args: Array[String]): Unit = {
        val res = for (a <- args) yield a.toUpperCase
        println("Arguments: " + res.mkString(" "))
      }
    }
    

    【讨论】:

    • 只使用一个列表。
    猜你喜欢
    • 2015-11-06
    • 1970-01-01
    • 2017-06-05
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2015-04-19
    • 2019-10-27
    相关资源
    最近更新 更多